我正在處理ASP.NET MVC 4 w/EF 4應用程序。從DBContext中排除列/屬性
這是我的問題: 我有一個對象w/byte []屬性(其中3個)來存儲文件(varbinary(MAX))。然而,每當我查詢對象,如果這些文件是「大」(> 1MB),我有超時問題。我可以增加上下文的超時時間,但我寧願找到更好的解決方案。
我試圖將[NotMapped]屬性添加到屬性中,因爲它不包含在查詢中,但是我無法更新數據庫中的值。
public class Product
{
public int ProductID { get; set; }
[NotMapped] // <-- doesn't allow saving, but hides from the generated SQL
public byte[] File1 { get; set; }
public byte[] File2 { get; set; }
public byte[] File3 { get; set; }
所以我的問題是: 如果可能的話,我怎麼能叫
myContext.SaveChanges();
,並有實際保存更改,而原來的
var product = context.Products.Single(p => p.ProductID == productID);
不選擇varbinary字段?
您需要將它們移動到另一個對象中。您可以創建class \ table ProductFiles並在此存儲二進制數據,並從Product – 2014-08-29 21:29:28
@SergeyLitvinov中引用它,您應該將其作爲答案發布。 – Stilgar 2014-08-29 22:28:39
看*表拆分*。 – 2014-08-29 23:18:13