6

我有一个特定的场景,其中插入和更新是基于一些约束在多个表上完成的。所以在这些场景中使用事务范围是很自然的。现在,我有一个存储层和一个服务层。服务层调解存储库和 UI,并且是持久无知的。现在我很困惑在服务层或存储库层中使用事务的位置。我没有使用任何 ORM。我还看到有人提倡这种情况下的工作单元模式。有没有适合我当前场景的工作单元模式的例子,我看到的所有例子都是使用 ORMS。

谢谢,

4

2 回答 2

6

当然,这将取决于您的系统,但通常我会在服务层中进行。特别是如果您的服务层方法调用多个细粒度的存储库方法并期望它们全部提交或全部回滚。

于 2010-02-15T12:19:34.013 回答
4

一些可能有助于回答这个问题的问题。

哪一层理解交易需求?您的存储库界面的粒度是多少?

在我的世界里,我们倾向于有细粒度的持久化操作,插入、更新、删除。然后将它们组合在服务层中。因此,在这种环境中,对我来说很明显是服务层理解了事务范围。

于 2010-02-15T12:18:33.347 回答