17
實體框架6引入了一種新的方式,以支持的DbContext交易與BeginTransaction方法:DbContextTransaction回滾
var db = new MyDbContext();
using(var tx = db.Database.BeginTransaction())
{
// update entities
try
{
db.SaveChanges();
tx.Commit();
}
catch(Exception)
{
tx.Rollback();
}
}
在方法回滾()調用有必要嗎?如果沒有調用異常,會發生什麼?我知道在使用TransactionScope時,它會在處置完成時自動回滾事務,並且不會調用Complete。 DbContextTransaction的行爲是否類似?
我做了測試並得到了相同的結果,但是我沒有找到任何有關回滾處理事務的文檔。 –