我需要使用LINQ to SQL的事务,我正在读书以熟悉它。
SubmitChanges已经被转让了吗?
答案 0 :(得分:39)
当您调用SubmitChanges时,LINQ to SQL会检查已知对象集以确定是否已将新实例附加到它们。如果有,则将这些新实例添加到跟踪对象集中。
在传输任何实际更改之前, LINQ to SQL会启动一个事务来封装一系列单独的命令。
对象的更改将逐个转换为SQL命令并发送到服务器。
此时,数据库检测到的任何错误都会导致提交过程停止,并引发异常。 将回滚对数据库的所有更改,就像没有发生任何提交一样。
有关此视图的详细信息,请MSDN article。
希望这有帮助!