我想知道是否有更智能/更快/ one_line的方式來解決這個問題。實體框架多行更新
我有一個DLL列表IsActive
屬性。在UI上,我有複選框,它會根據複選框是否被選中來改變dll的狀態。單擊按鈕時發生更改。我沒有問題,遍歷整個DB所以我現在做這樣的:
foreach (var item in dllList)
{
context.dllSet.Find(item.Id).IsActive = item.IsActive;
}
(dllList
是連接到WPF前List<>
元素)。
因此,現在我在數據庫中找到具有相同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