C# IDocumentSession.SaveChanges()与事务

C# IDocumentSession.SaveChanges()与事务,c#,transactions,ravendb,unit-of-work,C#,Transactions,Ravendb,Unit Of Work,raven客户端(IDocumentSession)在调用SaveChanges之前不会向服务器发送任何内容。所以它可以被看作是一个工作单元实现,对吗 我认为SaveChanges和Transaction.Commit之间的唯一区别是后者在提交过程中失败时回滚所有更改,这是正确的吗 如果您正在执行单个操作,则不需要使用显式事务,因为SaveChanges会导致隐式事务 如果使用System.Transactions,则可以使用同一事务执行多个操作,即多个SaveChanges。Raven将使用请

raven客户端(
IDocumentSession
)在调用
SaveChanges
之前不会向服务器发送任何内容。所以它可以被看作是一个工作单元实现,对吗


我认为
SaveChanges
Transaction.Commit
之间的唯一区别是后者在提交过程中失败时回滚所有更改,这是正确的吗

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

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

阅读文档中的更多信息:

SaveChanges()
在一个事务中操作,因此,如果要修改多个文档,则所有文档都将保存,或者一个文档都不会保存。
还支持
系统事务
,但通常不需要。

Kul med andra svenska RavenDb nissar;)(这条评论说的不多,如果你不是瑞典人就忽略它)