存储更新,插入或删除语句影响了意外的行数(0),Entity Framework

时间:2018-10-23 23:25:04

标签: c# entity-framework

我正在尝试删除记录列表并将其添加到数据库中,如果多个用户同时进行更新,则会显示以下错误。

  

System.Data.Entity.Core.OptimisticConcurrencyException

     

存储更新,插入或删除语句影响了意外的行数(0)。自加载实体以来,实体可能已被修改或删除。看到   http://go.microsoft.com/fwlink/?LinkId=472540,了解有关了解和处理乐观并发异常的信息。

using (DBEntities dbcontext = new DBEntities())
{
   System.Data.Entity.DbContextTransaction DbTransaction = dbcontext.Database.BeginTransaction();

   try
   {
      // delete the old value
      List<User> ListTemp1 = (from a in dbcontext.Users.AsEnumerable() select a ).ToList();

      if (ListTemp1 != null && ListTemp1.Count > 0)
      {
          dbcontext.Users.RemoveRange(ListTemp1);
          dbcontext.SaveChanges();
      }

      List<User> ListTemp2 = (from a in dbcontext.TempUsers.AsEnumerable() select a).ToList();

      if (ListTemp2 != null && ListTemp2.Count > 0)
      { 
          dbcontext.Users.AddRange(ListTemp2);
          dbcontext.SaveChanges();
      }

      DbTransaction.Commit();
   }
   catch (Exception ex)
   {
      DbTransaction.Rollback();
      throw ex;
   }
   finally
   {
      DbTransaction.Dispose();
   }
}

如何解决它,而在当前代码中它不起作用?请帮我。预先感谢。

0 个答案:

没有答案