在ASP.NET MVC中放置数据访问方法的位置?

时间:2018-02-22 21:21:22

标签: asp.net asp.net-mvc

我的问题是我应该在ASP.NET MVC项目中将数据访问方法放在哪里?

(通过数据访问方法,我指的是执行CRUD语句的方法)

正如我所听到的,我们应该直接在每个控制器中编写CRUD语句(实际上使用Entity框架)。是对的吗?如果不是正确的方法?

1 个答案:

答案 0 :(得分:1)

DbContext注入控制器没有任何问题。但是,如果某些CRUD查询在其他地方使用,那么您最终会重复使用代码。

个人更喜欢直接访问DbContext来调用 存储库层 而不是表示层(控制器和操作方法)。通过这样做,您 单元测试 那些存储库CRUD方法。

例如,在GitHub的示例项目中,我创建了UserRepository,并将IUserRepository注入UserController。然后我实现UserServiceTests来对这些方法进行单元测试。如果您想更进一步,可以实施Generic Repository