これにアプローチするスマート/高速/ one_lineの方法があるのだろうかと思っていました。エンティティフレームワークの複数行の更新
私はIsActive
のプロパティを持つdllのリストを持っています。 UIにはチェックボックスがチェックされているかどうかによってdllの状態が変わるチェックボックスがあります。変更はボタンクリックで発生します。
foreach (var item in dllList)
{
context.dllSet.Find(item.Id).IsActive = item.IsActive;
}
(dllList
は、WPFのフロントに接続List<>
要素である):私は今、私はこのようにそれをやって全体DBを横断何の問題もありません。
これで、DB内に同じIDの要素が見つかり、その状態をUIチェックボックスに表示されているものに変更しています。
context.dllSet.AddOrUpdateList(dllList);
かもしれない便利http://stackoverflow.com/questions/11421370/efficient-更新されたエンティティのリスト – Vladimir
について:context.dllSet.Where(a => dllList.Contains(a.Id))。ToList()。ForEach(a => a.IsActive = dllList.Find (a.Id).IsActive)。 –
想像以上にエレガントではありませんが、いくつかの変更を加えて作業しています:) – Norgul