IDocumentSession.SaveChanges() vs Transactions
本文关键字:vs Transactions SaveChanges IDocumentSession | 更新日期: 2023-09-27 18:14:52
乌鸦客户端(IDocumentSession
)在SaveChanges
被调用之前不会向服务器发送任何内容。所以它可以被认为是一个UnitOfWork实现,对吧?
我认为SaveChanges
和Transaction.Commit
之间的唯一区别是后者回滚所有更改,如果在提交期间失败,我是否正确?
如果您正在执行单个操作,则不需要使用显式事务,因为SaveChanges
会导致隐式事务。
如果你使用System.Transactions
,你可以执行多个操作,即多个SaveChanges
使用相同的事务。Raven将使用请求头通过http管理事务。
在文档中阅读更多内容:http://ravendb.net/documentation/docs-api-transactions
SaveChanges()
在事务中操作,因此,如果您正在修改多个文档,则将保存所有文档,或者不保存它们。也支持System.Transactions
,但通常不需要。