MrGrz

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

原blog

http://blog.csdn.net/lee576/article/details/44922727

 

博主说”Entity Framework 中不能同时更新多条记录”.删除多个数据需先查询出来,然后再对实体更新或删除


在网上找了找解决方案,比如说这个 
EF架构~性能高效的批量操作(Update篇) 

http://www.cnblogs.com/lori/archive/2013/01/10/2855073.html
感觉在剑走偏锋,里面实际是在拼Sql(当然EF最终也是拼SQL),我却不喜欢这么干,完全没有Linq的感觉,也很别扭.

最后又找到个开源库,又是老外解决的 
Entity Framework Extended Library 

https://github.com/loresoft/EntityFramework.Extended
同时有一篇简单介绍 
EF扩展库(批量操作)

http://www.cnblogs.com/bomo/p/3509923.html

 

使用EntityFramework.Extended扩展库 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();
            }
        }
posted on 2016-07-01 16:26  MrGrz  阅读(997)  评论(0编辑  收藏  举报