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()方法即可。