2

我已经阅读了很多关于工作单元和存储库模式的内容。我从未见过的是如何检索数据。UoW 对 Select 语句没有意义。

我将使用具有 n 层架构的 asp.net MVC,而这一点我从未在任何教程或文章中看到:

使用这些模式在哪里以及如何调用带有/不带有 INNER JOIN 的 SELECT 语句?从服务层直接调用 DataContext?

4

1 回答 1

3

工作单元用于更新模型。确实查询你不需要它。当使用存储库模式时,所有与数据库相关的(选择、连接等)都是存储库实现的一部分。

存储库使用者,例如控制器,依赖于存储库接口(抽象),而具体存储库由 DI 容器注入。消费者永远不会看到数据库或其中的东西,它只是看到应该返回控制器需要和理解的对象的存储库方法(即使你返回一个 ROM 实体,控制器也不知道它是一个实体)。

一件重要的事情是要了解存储库接口定义的是WHAT而不是HOW。实施涉及“如何”。这意味着控制器不会构建查询,而存储库会。你只要问它你想要什么,它就会神奇地提供。

于 2013-10-24T18:48:50.547 回答