我正在为文档创建实体数据模型。我想将文档的正文存储为BLOB - 文档正文将大于varbinary max。据我所知,我需要做的是创建一个Image
类型的属性来存储文档正文。
以下是我的问题:“属性”窗格中列出的类型不包含Image
类型:
EF4是否识别Image
类型?如果是,我如何创建Image
类型的实体属性?谢谢你的帮助。
答案 0 :(得分:7)
Image
已被弃用,您应该使用varbinary(MAX)
代替 - 但如果您使用的文件大于2GB(因为您显然是varbinary(MAX)
就足够了)您可能应该绕过完全将它们保存在磁盘上 - 使用纯SQL Server 2008,我建议使用filestream。
根据this article,这种方法也适用于实体框架(尽管文章提到的是旧的EF版本,我还没有亲自尝试过)
答案 1 :(得分:2)
varbinary(max)
替换Image
类型。 varbinary(max)
的存储大小为2 ^ 31 - 1 Bytes => 2GB。它应该足够了。不推荐使用Image
类型,可能会在将来的SQL Server版本中删除。对您的数据使用Binary
类型,并将其长度设置为Max
。
顺便说一下。在EF中使用如此大量的数据可能是个糟糕的主意。