2011-05-21 150 views
0

我試圖在使用blob的Firebird數據庫中存儲圖像。在我的班級中,我已將它們聲明爲byte []:EF 4.1代碼優先 - 在Firebird數據庫中存儲圖像

[Column("SMALLIMAGE")] 
public Byte[] SmallImage { get; set; } 
[Column("MEDIUMIMAGE")] 
public Byte[] MediumImage { get; set; } 
[Column("BIGIMAGE")] 
public Byte[] BigImage { get; set; } 

我在SaveChanges()中得到DbUpdateException。如何將Byte []映射到Firebird中的BLOB?

問候,加布裏埃爾

回答

0

我不知道,但火鳥如果你的數據庫的具體類型稱爲BLOB,你可以嘗試任何事情:

[Column("SMALLIMAGE", TypeName="BLOB")] 
public Byte[] SmallImage { get; set; } 

或者用流利的映射:

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

錯誤信息沒有改變 - 「實際項目出錯」(德文翻譯)。和堆棧跟蹤:bei System.Data.Entity.Internal.InternalContext.SaveChanges() bei System.Data.Entity.Internal.LazyInternalContext.SaveChanges() bei System.Data.Entity.DbContext.SaveChanges() – Gabriel 2011-05-21 16:39:17

+0

什麼是firebird存儲二進制列的正常方式?這看起來像BLOB不受支持。 – 2011-05-21 17:23:22

+0

CREATE TABLE古籍 ( ID整數NOT NULL, TITLE VARCHAR(1024), BINDING VARCHAR(40), ISBN VARCHAR(20), ASIN VARCHAR(20), SMALLIMAGE斑點sub_type 0, MEDIUMIMAGE斑點sub_type 0, BIGIMAGE斑點sub_type 0, NUMBEROFPAGES整數NOT NULL, PUBLICATIONDATE VARCHAR(25), DETAILPAGEURL VARCHAR(1024), LANGUAGEORIGINAL VARCHAR(40), LANGUAGEPUBLISHED VARCHAR(40), SUBJECT VARCHAR(25), CLASS Integer NOT NULL, PUBLISHER_ID Integer, PRIMARY KEY(ID) ); – Gabriel 2011-05-22 15:48:58