我正在处理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