LINQ to SQL - SubmitChanges()是否自动启动事务?

时间:2009-03-25 01:14:24

标签: linq-to-sql transactions

我需要使用LINQ to SQL的事务,我正在读书以熟悉它。

SubmitChanges已经被转让了吗?

1 个答案:

答案 0 :(得分:39)

当您调用SubmitChanges时,LINQ to SQL会检查已知对象集以确定是否已将新实例附加到它们。如果有,则将这些新实例添加到跟踪对象集中。

在传输任何实际更改之前, LINQ to SQL会启动一个事务来封装一系列单独的命令。

对象的更改将逐个转换为SQL命令并发送到服务器。

此时,数据库检测到的任何错误都会导致提交过程停止,并引发异常。 将回滚对数据库的所有更改,就像没有发生任何提交一样

有关此视图的详细信息,请MSDN article

希望这有帮助!