.net – 使用Linq To SQL进行多个SubmitChanges和事务回滚
发布时间:2020-12-12 08:46:37 所属栏目:MsSql教程 来源:网络整理
导读:我使用TransactionScope将 Linq中的数据提交到SQL.我的问题是,如果我在同一个范围内使用多个SubmitChanges,所有范围将在发生错误或仅在最后一个SubmitChanges之后进行更改时回滚?例如: using (TransactionScope trans = new TransactionScope()){ using (db
我使用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){} } } 如果更新SubmitChanges引发异常,InsertChanges会插入吗? 解决方法所有更改将回滚,而不仅仅是最后一个SubmitChanges()的更改.当您有数据取决于其他数据时,您通常需要使用此模式,例如,如果您需要创建一个对象并获取自动生成的ID以便执行其他操作(尽管L2SQL支持使用一个SubmitChanges调用大多数场景只是创建对象,但我离题…). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |