MVC4 WebAPI的正确架构是什么?

时间:2012-05-18 13:35:57

标签: architecture asp.net-mvc-4 asp.net-web-api

我进行了一些搜索,但没有找到这个问题的可用答案。

好的,我的MVC 3架构是这样的:

- Project.EDM (contains only the entity framework edmx file and its .tt and .cs entity classes)
- Project.DAL (contains IXxxRepositiory and XxxRepository where CRUD is performed on the entity classes)
- Project.Web (the MVC3 project. Controllers transfer data from ViewModels into entity models and call the CRUD functions in the DAL repositories.)

WebApi中的MVC4看起来很吸引人,因为我们可以从其他应用程序调用CRUD操作。我们都喜欢这个想法。

但我发现的现有示例在ApiController下的MVC4项目中有CRUD操作。我习惯将这些操作放入一个单独的DAL项目中。推荐的选择是什么?我们还能有一个单独的DAL课吗?您如何设计专家架构?

感谢您提供所有有用的建议。

1 个答案:

答案 0 :(得分:7)

我的工作是:

  • 用于查询数据库的存储库
    • 服务层,用于验证内容并避免代码重复
      • 网络用户界面
      • Web API

因此,UI和API都将拥有一个或多个服务,而这些服务又具有一个或多个存储库对象。

大多数示例直接从ApiController查询数据库的唯一原因可能是因为简单。