关于linq批量维护数据库数据(eg:批量逻辑删除数据)

来源:互联网 发布:森汉机器人编程软件 编辑:程序博客网 时间:2024/05/17 04:33
/// <summary>        /// 微信数据解除绑定        /// </summary>        /// <param name="ids">微信数据id集合</param>        public void ResolveMobileWeChat(List<int> ids)        {            using (var dbContext = new AccountDbContext())            {                dbContext.MobileWeChats.Where(n => ids.Contains(n.ID) && !n.IsDel).Update(n => new M_MobileWeChat {IsDel = false, IsUsed = true});            }        }

删除多条数据只访问一次数据库 且不存在foreach

/// <summary>        /// 删除报名进度更新日志        /// </summary>        /// <param name="ls">customer集合</param>        public void DeleteCustomer(List<int> ls)        {            foreach (var item in ls)            {                using (var dbContext = new TopOnlineDbContext())                {                    var cu = dbContext.Customer.First(n => n.ID == item);                    cu.IsDel = true;                    var follow = dbContext.FollowLog.Where(n => n.CustomerId == cu.ID);                    foreach (var im in follow)                    {                        im.IsDel = true;                    }                    dbContext.SaveChanges();                }            }        }

删除多条数据访问多次数据库 而且需要foreach

原创粉丝点击