MyDataContext context = new MyDataContext();
// do a lot of insert, deletes and updates
context.SubmitChanges();
SubmitChanged()生成和执行的所有SQL是否都会被事务覆盖?如何确保交易涵盖了它?
更新:
我之所以要求我有一个奇怪的错误,我怀疑某项交易尚未使用。
该过程约有500个插入,并在一条记录上进行最终更新。有时更新(可能还有一些插入...)未在数据库中注册。
(我的调试输出中没有显示SQL Transactions?)
答案 0 :(得分:4)
它是,如果它失败,整个事情将会回滚
答案 1 :(得分:3)
如果您希望在事务中发生所有事情,请使用事务范围
http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx
答案 2 :(得分:2)
只有在多次调用SubmitChanges并希望将所有调用包含在一个事务中时,才需要显式创建TransactionScope。