当前位置: 代码迷 >> ASP.NET >> entity framework db.SaveChangs() 和事务的有关问题
  详细解决方案

entity framework db.SaveChangs() 和事务的有关问题

热度:6741   发布时间:2013-02-25 00:00:00.0
entity framework db.SaveChangs() 和事务的问题
TransactionOptions tOpt = new TransactionOptions();
  tOpt.Timeout = new TimeSpan(0, 15, 0);
  using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required, tOpt))
  {
action1();//存数据到表1
action2();存数据到表2
action3();存数据到表3
//表1,2,3都有db.SaveChanges();
//action 1,2,3为三个方法
 transaction.Complete();
}
这个时候1,2 方法没有错,3方法错了,按理应该回滚啊。但是为什么1,2表里面的数据都存进去了啊?求解啊。。。。


------解决方案--------------------------------------------------------
//表1,2,3都有db.SaveChanges();
改为
action1()中的db.SaveChanges(false);
然后在

 transaction.Complete();
db.AcceptAllChanges();
}
  相关解决方案