首页 > 解决方案 > 如何使用代码优先方法 dot net core 在 oracle 19c (PL/SQL) 数据库中添加图像

问题描述

我正在尝试使用实体框架代码优先方法将图像添加到我的 oracle 19c (PL/SQL) 数据库中。我接受来自客户端的数据作为字节数组并将其分配给我的模型字段

  [Column("Signature", TypeName = "BLOB")]
    public byte[] Signature { get; set; }

然后调用添加和保存更改方法但是我收到以下错误

InnerException = {"ORA-01460: 请求未实现或不合理的转换"}

我试图将模型数据类型设为

[MaxLength(65536)]
public string Signature { get; set; }

我的模型的数据类型,还尝试了添加以下添加方法的运气

builder.Entity<SecUser>().Property(p => p.Signature).HasColumnType("image");

和 ApplicationDbContextbuilder.Entity<SecUser>().Property(p => p.Signature).HasColumnType("Blob"); 中的 方法protected override void OnModelCreating(ModelBuilder builder)

谁能指导我如何将图像添加到 oracle 19c (PL/SQL) 数据库中

标签: c#oracleasp.net-coreef-code-first

解决方案


这个问题已经解决了,它只需要为我的模型使用一个 blob 注释,我给它传递了一个字节数组,结果你只能发送小于 32 Kb 的文件

[Column(TypeName = "BLOB")]
    public byte[] Signature { get; set; }

推荐阅读