天天看點

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;
        }
      

  

樹立目标,保持活力,gogogo!