[轉]EF 批量更新/刪除資料
阿新 • • 發佈:2019-02-20
其實之前遇到過EF批量更新的問題,先前已經寫過一篇(http://blog.csdn.net/afandaafandaafanda/article/details/44936075)來說明如何使用EF擴充套件庫來做批量更新操作,今天看到lee576寫的一篇EF如何做批量更新的博文,介紹得挺全面,忍不住還是轉了!對lee576及相關原著作者表示感謝!
感覺在劍走偏鋒,裡面實際是在拼Sql(當然EF最終也是拼SQL),我卻不喜歡這麼幹,完全沒有Linq的感覺,也很彆扭.
在網上找了很久,得到的答案是”Entity Framework 中不能同時更新多條記錄”,歷經這麼多版本,居然還沒有這種基本功能,我真的很無語了.還要先查詢出來,然後再對實體更新或刪除,那效率可想而知了……
在網上找了找解決方案,比如說這個
EF架構~效能高效的批量操作(Update篇)
感覺在劍走偏鋒,裡面實際是在拼Sql(當然EF最終也是拼SQL),我卻不喜歡這麼幹,完全沒有Linq的感覺,也很彆扭.
現在update可以這麼幹了,用不著把實體先取出來了
public static void UpdateBalance(ChannelAccount channelAccount) { using (FinanceContext context = new FinanceContext()) { context.ChannelAccounts .Where(t => t.ChannelAccountID == channelAccount.ChannelAccountID) .Update(t => new ChannelAccount {Balance = channelAccount.Balance}); context.SaveChanges(); } }