【发布时间】:2011-11-14 03:25:17
【问题描述】:
我在我的 DAL 中使用 EF。当我更新记录时,我必须使用 LINQ 查询数据库。这是在性能成本中完成的。
问题是如何在不往返所有数据库的情况下更新记录,如果我有一个从头开始创建的实体并且没有附加到任何对象上下文,如何在不查询的情况下更新数据库中现有实体中的值。 任何帮助将不胜感激。
【问题讨论】:
标签: c# entity-framework-4 entity
我在我的 DAL 中使用 EF。当我更新记录时,我必须使用 LINQ 查询数据库。这是在性能成本中完成的。
问题是如何在不往返所有数据库的情况下更新记录,如果我有一个从头开始创建的实体并且没有附加到任何对象上下文,如何在不查询的情况下更新数据库中现有实体中的值。 任何帮助将不胜感激。
【问题讨论】:
标签: c# entity-framework-4 entity
好的,您可以像我在代码中所做的那样将记录添加到数据上下文中
我将只更新我表中的 VisitAmp 字段
NewBranchRequestTbl 是我的表 nr 是新纪录
var newBran= new NewBranchDataContext();
newBran.NewBranchRequestTbl.AddObject(nr);
newBran.ObjectStateManager.ChangeObjectState(nr, System.Data.EntityState.Unchanged);
newBran.ObjectStateManager.GetObjectStateEntry(nr).SetModifiedProperty("VisitAmp");
所以当我们调用 newBran.SaveChanges();
它只是更新 NewBranchRequestTbl 中的 VisitAmp
【讨论】: