在我的基於MVC 3/SQL Server的應用程序中,我想將一個pdf文檔作爲blob存儲在數據庫中。在我的模型我有這樣的特性:如何在數據庫中存儲和檢索文件爲blob?
public byte[] PdfData { get; set; }
讀取該文件,並正從一個文件流的字節數是相當簡單的,但試圖保存更改我得到的錯誤
Byte array truncation to a length of 4000
這當然當這是合理的,因爲文檔大於默認的4000字節限制。但我不允許將maxlength屬性設置爲超過8000,這太小了。我知道我可以通過使用圖像數據類型這樣繞開這個問題:
[Column(TypeName = "image")]
public byte[] PdfData { get; set; }
但據我瞭解,在圖像數據類型是那裏只是爲了向下兼容,並且隨時可能消失。我想要做的是使用varbinary(max)
數據類型。但是,如何設置我的模型以在SQL Server中生成此數據類型的列?作爲便箋,我目前在我的開發環境中運行SQL Server CE,但該應用程序將在部署時定位到常規SQL Server 2008數據庫。不確定這是否相關。
是的,我嘗試[列(TypeName =「varbinary(max)」]只是爲了得到錯誤:類型varbinary(max)沒有限定名稱空間或別名只有PrimitiveTypes可以使用沒有資格 – TMan