LINQ to Entities如何更新logging

好的,所以我对EF和LINQ都很陌生。 我已经想出了如何插入和删除,但由于某种原因更新似乎逃脱我的把握。

这是我的代码示例:

EntityDB dataBase = new EntityDB(); Customer c = new Customer { Name = "Test", Gender = "Male }; dataBase.Customers.AddObject(c); dataBase.SaveChanges(); 

上面创build并添加一个logging就好了。

 Customer c = (from x in dataBase.Customers where x.Name == "Test" selext x).First(); dataBase.Customers.DeleteObject(c); dataBase.SaveChanges(); 

以上有效删除指定的logging。

现在我该如何更新? 我似乎无法find实体集合上的“ UpdateObject() ”方法。

只要修改其中一个返回的实体:

 Customer c = (from x in dataBase.Customers where x.Name == "Test" select x).First(); c.Name = "New Name"; dataBase.SaveChanges(); 

注意,你只能更新一个实体(扩展了EntityObject的东西,而不是你使用类似select new CustomObject{Name = x.Name}

//更新

 (from x in dataBase.Customers where x.Name == "Test" selext x).ToList().ForEach(xx => x.Name="New Name"); 

//用于删除

 dataBase.Customers.RemoveAll(x=>x.Name=="Name"); 

他们都跟踪对集合的更改,只需调用应更新数据库的SaveChanges()方法即可。