使用Entity Framework更新多个记录

时间:2012-12-12 11:27:32

标签: entity-framework entity-framework-4 entity-framework-5

我正在使用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扩展?

感谢。

1 个答案:

答案 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.