我正在尝试删除记录列表并将其添加到数据库中,如果多个用户同时进行更新,则会显示以下错误。
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();
}
}
如何解决它,而在当前代码中它不起作用?请帮我。预先感谢。