我正在使用Asp.net MVC 5,Web Api 2和Entity Framework创建一个项目。我正在使用洋葱架构进行设计,因此我有一个DAL,Service和UI层。
我的DAL层包含UnitOfWork和Repositories,我的Service层包含业务用例的服务。
但是我有以下问题:
我的DAL层包含UnitOfWork和Repositories,我的Service层包含业务用例的服务。
但是我有以下问题:
- 我应该在哪里使用UnitOfWork的save(或commit)方法?在Services层还是UI层? 如果我在Services层中使用它,如何处理跨多个Services的情况?
- 我正在为WebApi操作使用DTOs,Services层应该返回DTOs还是映射应该在UI层中完成?
- DTOs应该在单独的项目中还是在UI项目中?如果它们在单独的项目中,我应该使用MVC属性进行验证吗?