我有一个Web应用程序,它使用存储的proecdure从不同的屏幕更新状态表。
每个屏幕调用数据层中的代码下方,以使用存储过程更新状态 使用(var dbContext = new Entities()) {
using (var dbContextTransaction = dbContext.Database.BeginTransaction())
{
try
{
dbContext.UpdateStatus( some parameter);
使用相同的dbContext更新更多的表和sp。
dbContext.SaveChanges();
dbContextTransaction.Commit();
}
catch (Exception ex)
{
---------------记录数据库中的异常---------------
dbContextTransaction.Rollback(); // Rollback Transaction
throw throwNewException;
}
}
}
请帮忙。 如果2个不同的登录用户从2个不同的屏幕调用此方法,则会为其中一个屏幕提供回滚错误。 错误:消息:在批处理结束时检测到不可提交的事务。该事务将被回滚。
此存储过程更新该应用程序的旧状态记录,并插入具有新状态的新记录。
我遇到了这个问题。请帮忙