我正在使用Entity Framework 5.我正在寻找更好的方法来更新多个记录。
人们在谈论EF Extensions。但我不确定如何在我的场景中使用它。
这是我的方法签名。
internal void Update( List<Models.StockItem> stockItemsUpdate)
我需要更新所有相应的stockitem
实体。
using (var context = new eCommerceEntities())
{
var items = context.StockItems.Where(si => stockItemsUpdate.Select(it => it.ID).Contains(si.ID));
}
我相信上面的查询会返回那些实体。
如何在这种情况下使用EF扩展?
感谢。
答案 0 :(得分:0)
在EntityFramework.Extended
的{{3}}中,有一个带有此签名的Update
扩展程序:
public static int Update<TEntity>(
this IQueryable<TEntity> source,
Expression<Func<TEntity, TEntity>> updateExpression)
您可以按如下方式使用:
items.Update(item => new StockItem { Stock = 0 });
将所选项目的库存设置为0.