我正在爲文檔創建實體數據模型。我想將文檔正文存儲爲BLOB - 文檔體將比varbinary max大。據我瞭解,我需要做的是創建一個Image
類型的屬性來存儲文檔正文。實體框架4:圖像類型?
這裏是我的問題:在屬性面板中列出的類型不包括Image
類型:
不EF4識別Image
類型?如果是這樣,我該如何創建一個Image
類型的實體屬性?謝謝你的幫助。
我正在爲文檔創建實體數據模型。我想將文檔正文存儲爲BLOB - 文檔體將比varbinary max大。據我瞭解,我需要做的是創建一個Image
類型的屬性來存儲文檔正文。實體框架4:圖像類型?
這裏是我的問題:在屬性面板中列出的類型不包括Image
類型:
不EF4識別Image
類型?如果是這樣,我該如何創建一個Image
類型的實體屬性?謝謝你的幫助。
Image
已過時,你應該使用varbinary(MAX)
代替 - 但是如果你使用的是大於2GB的文件(如你顯然是因爲varbinary(MAX)
本來是足夠了)你應該完全繞過這一點,並保存在磁盤上 - 用普通SQL Server 2008我建議一個filestream。
根據this article這種做法也會爲實體框架的工作(雖然文章是指舊的EF版本,我還沒有嘗試過親自)
varbinary(max)
是更換Image
類型。 varbinary(max)
的存儲大小爲2^31-1Bytes => 2GB。它應該是足夠的。 Image
類型已被棄用,並且可能會在未來版本的SQL Server中被刪除。使用Binary
類型處理您的數據,並將其長度設置爲Max
。
Btw。在EF中使用這種數據量可能是一個非常糟糕的主意。
謝謝 - 我不知道EF對BLOB數據有問題。你能否指點我的博客文章或文章,以便我可以瞭解更多信息?提示+1。 – 2011-03-12 00:01:11
@David:我很害怕你想用大塊的工作。 100K應該沒問題,但你仍然應該非常小心地使用查詢或表格分割中的投影,以便只在真正需要時才加載blob。 – 2011-03-12 10:18:52
+1你是第一個 – 2011-03-11 23:36:39
謝謝 - 我想我誤解了限制。我的數據實際上只有100K左右,所以varbinary(MAX)應該工作得很好。 – 2011-03-12 00:03:04