IDのリストを取得し、それらに関連付けられたフィールドを更新できるようにするエンティティフレームワークのクエリを作成しようとしています。
SQLの例:
UPDATE Friends
SET msgSentBy = '1234'
WHERE id IN (1, 2, 3, 4)
上記をエンティティフレームワークに変換するにはどうすればよいですか?
以下のようなもの
var idList=new int[]{1, 2, 3, 4};
using (var db=new SomeDatabaseContext())
{
var friends= db.Friends.Where(f=>idList.Contains(f.ID)).ToList();
friends.ForEach(a=>a.msgSentBy='1234');
db.SaveChanges();
}
以下のように複数のフィールドを更新できます
friends.ForEach(a =>
{
a.property1 = value1;
a.property2 = value2;
});
これを可能にする2つのオープンソースプロジェクトがあります: EntityFramework.Extended およびE ntity Framework Extensions 。