C# 如何使用Linq插入字节数组数据?
我已经创建了一个包含blob字段的表,并将文件传输到字节数组中 但是当执行代码blow将数据插入表时,它会出错C# 如何使用Linq插入字节数组数据?,c#,oracle,entity-framework,blob,C#,Oracle,Entity Framework,Blob,我已经创建了一个包含blob字段的表,并将文件传输到字节数组中 但是当执行代码blow将数据插入表时,它会出错 Table table = new Table(); table.FileName = FileName; table.Content = Convert.FromBase64String(input_file); db.Table.Add(table); db.SaveChanges(); 错误消息为“ora-01460未实现或请求的转换不合理” 我尝试用oracle Execut
Table table = new Table();
table.FileName = FileName;
table.Content = Convert.FromBase64String(input_file);
db.Table.Add(table);
db.SaveChanges();
错误消息为“ora-01460未实现或请求的转换不合理”
我尝试用oracle ExecuteOnQuery而不是Linq插入相同的数据,它可以工作
但我想知道为什么在使用Linq时会出错
以下是表类内容:
public class Table
{
public string FileName { get; set; }
public byte[] Content { get; set; }
}
以下是我使用的程序集:
Microsoft.EntityFrameworkCore 3.1.6
Oracle.EntityFrameworkCore v3.19.0-beta2
Oracle.ManagedDataAccess.Core v2.19.80
表DDL:
CREATE TABLE "TABLE"
(
"FILENAME" VARCHAR2(100 BYTE),
"FILECONTENT" BLOB
)
在我添加列类型和MaxLength后,它会工作,如下所示:
public class Table
{
public string FileName { get; set; }
[Column("Content", TypeName = "BLOB")]
[MaxLength(2147483647)]
public byte[] Content { get; set; }
}
在我添加列类型和MaxLength后,它会工作,如下所示:
public class Table
{
public string FileName { get; set; }
[Column("Content", TypeName = "BLOB")]
[MaxLength(2147483647)]
public byte[] Content { get; set; }
}
您可能需要包括
表
类的定义以及Oracle表DDL、EF和Oracle驱动程序的版本。您可能需要包括表
类的定义以及Oracle表DDL、EF和Oracle驱动程序的版本。