Mapping EF 4.1代码优先-在Firebird数据库中存储图像

Mapping EF 4.1代码优先-在Firebird数据库中存储图像,mapping,entity-framework-4.1,firebird,code-first,Mapping,Entity Framework 4.1,Firebird,Code First,我正在尝试使用BLOB将图像存储在Firebird数据库中。在我的类中,我将它们声明为byte[]: [Column("SMALLIMAGE")] public Byte[] SmallImage { get; set; } [Column("MEDIUMIMAGE")] public Byte[] MediumImage { get; set; } [Column("BIGIMAGE")] public Byte[] BigImage { get; set; } 我在SaveChanges中

我正在尝试使用BLOB将图像存储在Firebird数据库中。在我的类中,我将它们声明为byte[]:

[Column("SMALLIMAGE")]
public Byte[] SmallImage { get; set; }
[Column("MEDIUMIMAGE")]
public Byte[] MediumImage { get; set; }
[Column("BIGIMAGE")]
public Byte[] BigImage { get; set; }
我在SaveChanges中得到DbUpdateException。如何将字节[]映射到Firebird中的BLOB


尊敬的Gabriel,我对Firebird一无所知,但如果您的数据库特定类型为BLOB,您可以尝试:

[Column("SMALLIMAGE", TypeName="BLOB")]
public Byte[] SmallImage { get; set; }
或在fluent映射中:

modelBuilder.Entity<YourEntityType>()
            .Property(e => e.SmallImage)
            .HasColumnName("SMALLIMAGE")
            .HasColumnType("BLOB");

错误消息未更改-从德语翻译项目时出错。和堆栈跟踪:bei System.Data.Entity.Internal.InternalContext.SaveChanges bei System.Data.Entity.Internal.LazyInternalContext.SaveChanges bei System.Data.Entity.DbContext.SaveChanges firebird存储二进制列的正常方式是什么?这似乎不支持BLOB。CREATE TABLE BOOKS ID Integer not NULL、TITLE Varchar1024、BINDING Varchar40、ISBN Varchar20、ASIN Varchar20、SMALLIMAGE BLOB sub_类型0、MEDIUMIMAGE BLOB sub_类型0、BIGIMAGE BLOB sub_类型0、NUMBEROFPAGES Integer not NULL、PUBLICATIONDATE Varchar25、DETAILPAGEURL Varchar1024、,LANGUAGEORIGINAL Varchar40,LANGUAGEPUBLISHED Varchar40,SUBJECT Varchar25,类整数不为空,发布者ID整数,主键ID;