0

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 拡張機能を使用するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

0

には、次EntityFramework.Extendedのシグネチャを持つ拡張メソッドがあります。BatchExtensionsUpdate

public static int Update<TEntity>(
        this IQueryable<TEntity> source,
        Expression<Func<TEntity, TEntity>> updateExpression)

これは次のように使用できます。

items.Update(item => new StockItem { Stock = 0 });

選択したアイテムの在庫を 0 に設定します。

于 2012-12-12T13:11:51.483 に答える