EF 批量 添加 修改 删除

 

1批量添加    db.T_Investigator.AddRange(list)

2批量删除    db.T_Investigator.RemoveRange(list)

3批量修改   for 循环修改。

 注意: 先查询出来,最后savechange(),写在一个事务中,一次请求一个上下文。

 

public int SubmitAll(int[] idList, int userId)
{
    int num = 0;
    using (var pmdb = new ProjectManagementEntities())
    {
        using (var tran = pmdb.Database.BeginTransaction())
        {
            try
            {
                var list = pmdb.T_Investigator.Where(d => idList.Contains(d.InvestigatorID) && d.CreateUserID == userId && d.HasSubmitted == false).ToList();
                if (list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        item.HasSubmitted = true;
                    }
                    num = pmdb.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                tran.Rollback();//回滚
                throw ex;
            }
        }
    }
 
    return num;
}

  

网上案例:

EF中的那些批量操作

http://www.cnblogs.com/mcgrady/archive/2015/03/21/4355282.html

 

posted @   hao_1234_1234  阅读(794)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示