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

And*_*nda 20 transactions linq-to-sql

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

SubmitChanges已经被转让了吗?

irp*_*rez 40

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

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

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

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

有关此视图的详细信息,请参阅MSDN文章.

希望这可以帮助!