在.NET中使用MongoDB和NoRM.
让我感到困惑的是 - 没有交易
(不能只是说MongoConnection.Begin/EndTransaction
或类似的东西).
我想在出现故障时使用工作单元模式和回滚更改.
如何通过ITransaction丰富我的存储库还有一个干净的方法吗?
MongoDB不支持复杂的多文档事务.如果这是你绝对需要的东西,它可能不适合你.
但是,在大多数情况下,我们发现复杂的交易不是必需的.MongoDB中的所有操作都是单个文档上的原子操作,并且我们支持很好的更新修饰符,这使得需要事务的许多操作易于实现(并且快速).
确实,MongoDB不支持开箱即用的事务,但您可以自己实现乐观事务.它们适合工作单位.我在GitHub上写了一个java示例和一些解释,因此您可以轻松地在C#中重复.