.NETCore使用EF保存图片报错:OracleExceptiol: ORA-01460:转换请求无法实施或不合理
.NETCore使用EF保存图片报错:OracleExceptiol: ORA-01460:转换请求无法实施或不合理
错误原因
由于C# 类型(byte[])存入 Oracle DB 中的 Blob 类型,在数据超出32K长度后会出现ORA-01460错误。
解决方案
使用ModelBuilder定义字段类型:
C# 全选
builder.Entity<dt_Images>().Property(p => p.ImgLarge).HasColumnName(nameof(dt_Images.ImgLarge)).HasColumnType("BLOB");
builder.Entity<dt_Images>().Property(p => p.ImgSmall).HasColumnName(nameof(dt_Images.ImgSmall)).HasColumnType("BLOB");
或者给模型的属性添加特性:
C# 全选
[Column(TypeName = "BLOB")]
public System.Byte[] ImgSmall { get; set; }
[Column(TypeName = "BLOB")]
public System.Byte[] ImgLarge { get; set; }
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网