EntityFramework.Extensions库用于更新实体,如下所示
//update all tasks with status of 1 to status of 2
context.Tasks.Update(
t => t.StatusId == 1,
t2 => new Task {StatusId = 2});
在LOB应用程序中如果用户修改了用户界面中实体集合的多个属性,那么它们会被发送到Service层进行更新,上面的语法不实用 如何更改具有不同实体的不同属性的这批实体可以使用EntityFramework.Extensions
进行更新例如,将Generic Repository用于相同目的时:
public virtual void Update(params T[] items)
{
using (var context = new Entities())
{
foreach (T item in items)
{
context.Entry(item).State = System.Data.EntityState.Modified;
}
context.SaveChanges();
}
}
我们如何使用EntityFramework.Extensions库
来做同样的事情答案 0 :(得分:0)
遗憾的是有两个Entity Framework Extensions Library。
自2012年以来,第一个图书馆处于测试版状态,并且所有者不支持:https://entityframeworkext.codeplex.com/
免责声明:我是该项目的所有者Entity Framework Extensions
第二个库支持所有类型的批量操作:
您可以使用此库轻松批量更新具有不同值的多个实体:
public virtual void Update(params T[] items)
{
using (var context = new Entities())
{
context.BulkUpdate(items);
}
}