EF 4.1 Code First - 在 Firebird 数据库中存储图像
Posted
技术标签:
【中文标题】EF 4.1 Code First - 在 Firebird 数据库中存储图像【英文标题】:EF 4.1 Code First - storing Images in Firebird database 【发布时间】:2011-05-21 14:47:15 【问题描述】:我正在尝试使用 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 中将 Byte[] 映射到 BLOB?
问候,加布里埃尔
【问题讨论】:
【参考方案1】:我对 Firebird 一无所知,但如果您的数据库特定类型称为 BLOB,您可以尝试:
[Column("SMALLIMAGE", TypeName="BLOB")]
public Byte[] SmallImage get; set;
或者在流畅的映射中:
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。 创建表簿(ID 整数 NOT NULL,TITLE Varchar(1024),BINDING Varchar(40),ISBN Varchar(20),ASIN Varchar(20),SMALLIMAGE Blob sub_type 0,MEDIUMIMAGE Blob sub_type 0 , BIGIMAGE Blob 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密钥(ID));以上是关于EF 4.1 Code First - 在 Firebird 数据库中存储图像的主要内容,如果未能解决你的问题,请参考以下文章
EF 4.1 Code First - 在 Firebird 数据库中存储图像
如何使用 Code-First EF 4.1 从数据库中删除多个项目
EF 4.1 Code-First 项目上的 MvcMiniProfiler 不分析 SQL