你的位置:首页 > ASP.net教程

[ASP.net教程]EF 中事务的书写


在EF 中怎么使用事务?

这个问题纠结了我好久,直到有人跟我一起讨论,我和同事一起讨论查资料。

查的好多资料都是使用

  1. using (TransactionScope scope = new TransactionScope())  
  2. {  
  3.   //具体代码内容
  4.     scope.Complete();  
  5. }  

这种方式。
而我在实际使用中是没法使用的。

所以我就一直找其他的方式,无意中看到某个网站的的database,然后我就采用了下面的方式:

using (var dbContext = new TopOnlineDbContext())
{
using (var scope = dbContext.Database.BeginTransaction())
{
try
{
if (ids != null)
{
foreach (var id in ids)
{
T t = dbContext.Find<T>(id);
assfeedback.IsDel = true;
dbContext.Update<T>(t);
}
}
scope.Commit();//正常完成就可以提交
return 0;
}
catch (Exception ex)
{
scope.Rollback();//发生异常就回滚
return -1;
}
}
}