1. 程式人生 > >[轉]EF 批量更新/刪除資料

[轉]EF 批量更新/刪除資料

其實之前遇到過EF批量更新的問題,先前已經寫過一篇(http://blog.csdn.net/afandaafandaafanda/article/details/44936075)來說明如何使用EF擴充套件庫來做批量更新操作,今天看到lee576寫的一篇EF如何做批量更新的博文,介紹得挺全面,忍不住還是轉了!對lee576及相關原著作者表示感謝!

在網上找了很久,得到的答案是”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();
            }
}