大家好我正在做这样的事情 -
void update(ClasstoUpdate obj)//obj is already having values to update...
{
var data= (from i in Entityobject.ClasstoUpdate
where obj.Id==i.Id
select i).FirstorDefault();
data.Name="SomeCoolName";
EntityObject.SaveChanges();
}
我想在不再使用Id查询的情况下执行更新,是否有任何方法我只是将更新的对象传递给ADO.NET实体框架并更新它。很抱歉,如果我在这里遗漏了一些东西,但这是方式我一直在想它是否有一种简单的更新方式。感谢。
答案 0 :(得分:6)
更新对象的简单方法是获取它,更改它,并提交您正在进行的更改。
另一种方法是attach the object,并告诉实体框架该对象处于修改状态。
第三种方法是通过构造一个SQL字符串来更新对象,该字符串直接在数据库中更新对象而不提取它。但是我不建议这样做。
附注:记得在函数中检查null。如果您知道FirstOrDefault
的返回值永远不会为null,那么您应该使用First
。您可能还想考虑使用Single
而不是First
。