在我的基于 MVC 3 / SQL Server 的应用程序中,我想将 pdf 文档作为 blob 存储在数据库中。在我的模型中,我有这个属性:
public byte[] PdfData { get; set; }
读取文件并从文件流中获取字节非常简单,但是在尝试保存更改时出现错误
字节数组截断长度为 4000
这当然是有道理的,因为文档大于默认的 4000 字节限制。但是我不允许将 maxlength 属性设置为超过 8000,这太小了。我知道我可以通过使用这样的图像数据类型来解决这个问题:
[Column(TypeName = "image")]
public byte[] PdfData { get; set; }
但据我了解,图像数据类型只是为了向后兼容,并且可能随时消失。我想做的是使用varbinary(max)
数据类型。但是如何设置我的模型以在 SQL Server 中生成此数据类型的列?
附带说明一下,我目前在我的开发环境中在 SQL Server CE 上运行,但该应用程序在部署时将针对常规 SQL Server 2008 数据库。不确定这是否相关。