Naz*_*ain 7 asp.net asp.net-mvc identity asp.net-identity
在我的ASP.NET MVC5身份2应用程序尝试使用事务,但它不工作.请看下面的代码事务不工作.如果var saveteacher = _teacherService.Create(aTeacher);没有成功插入,那么AspNetUsers不从数据库回滚.
码:
using (var dataContext = new SchoolMSDbContext())
{
using (var trans = dataContext.Database.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
var adminresult =await UserManager.CreateAsync(user, teacherViewModel.Password);
if (adminresult.Succeeded)
{
aTeacher.Id = user.Id;
var saveteacher = _teacherService.Create(aTeacher);
}
else
{
trans.Rollback();
ModelState.AddModelError("", adminresult.Errors.First());
return View();
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
Console.WriteLine(ex.InnerException);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为问题可能在于异步.
尝试创建这样的事务:
TransactionScope transaction = new TransactionScope(System.Transactions.TransactionScopeAsyncFlowOption.Enabled);
Run Code Online (Sandbox Code Playgroud)
(你必须添加System.Transactions)参考.
要提交事务,请transaction.Complete()转到rollback transaction.Dispose().
| 归档时间: |
|
| 查看次数: |
4189 次 |
| 最近记录: |