dst*_*str 10 .net transactionscope linq-to-sql
我正在使用TransactionScope将Linq中的数据提交给SQL.我的问题是,如果我在同一范围内使用多个SubmitChanges,是否会在出现错误时回滚所有范围,或者只是在最后一次SubmitChanges之后进行更改?例如:
using (TransactionScope trans = new TransactionScope())
{
using (dbDataContext db = new dbDataContext())
{
try
{
//do some insert
db.SubmitChanges();
//do some updates
db.SubmitChanges();
trans.Complete();
}
catch(Exception ex){}
}
}
Run Code Online (Sandbox Code Playgroud)
如果更新SubmitChanges抛出异常,插入SubmitChanges也会回滚吗?
所有更改都将回滚,而不仅仅是上一次SubmitChanges()中的更改.
当您拥有依赖于其他数据的数据时,通常需要使用此模式 - 例如,如果您需要创建一个对象并获取其自动生成的ID以执行其他操作(尽管L2SQL支持使用一个SubmitChanges调用大多数场景只是创建对象,但我离题了......).
| 归档时间: |
|
| 查看次数: |
8595 次 |
| 最近记录: |