Dot-Net

如何使用 Entity Framework Code First CTP 5 儲存圖像?

  • January 11, 2011

我只是想弄清楚是否有一種簡單的方法可以使用 EF Code First CTP 5 儲存和檢索二進制(文件)數據?我真的很希望它使用 FILESTREAM 類型,但我真的只是在尋找一些讓它工作的方法。

您不能FILESTREAM在 EF 中使用 SQL。EF 應該在不同的數據庫伺服器上工作,但文件流功能是 SQL 2008 及更高版本的特定功能。您可以嘗試使用舊方法 -varbinary(max)在數據庫表中使用並在映射類中使用字節數組。

編輯:

一點澄清 - 您可以FILESTREAM在數據庫中使用,但 EF 不會利用流式傳輸。它將作為標準載入varbinary(max)

我總是創建另一個類ProductImage,例如一對一關聯,以管理延遲載入並規範化表:

public class ProductImage
{
   public int ProductId { get; private set; }
   public byte[] Image { get; set; }
}

引用自:https://stackoverflow.com/questions/4653095