IDocumentSession.SaveChanges() vs Transactions

本文关键字:vs Transactions SaveChanges IDocumentSession | 更新日期: 2023-09-27 18:14:52

乌鸦客户端(IDocumentSession)在SaveChanges被调用之前不会向服务器发送任何内容。所以它可以被认为是一个UnitOfWork实现,对吧?

我认为SaveChangesTransaction.Commit之间的唯一区别是后者回滚所有更改,如果在提交期间失败,我是否正确?

IDocumentSession.SaveChanges() vs Transactions

如果您正在执行单个操作,则不需要使用显式事务,因为SaveChanges会导致隐式事务。

如果你使用System.Transactions,你可以执行多个操作,即多个SaveChanges使用相同的事务。Raven将使用请求头通过http管理事务。

在文档中阅读更多内容:http://ravendb.net/documentation/docs-api-transactions

SaveChanges()在事务中操作,因此,如果您正在修改多个文档,则将保存所有文档,或者不保存它们。也支持System.Transactions,但通常不需要。