qin*_*126 6 asp.net-mvc automapper asp.net-mvc-3
我的mvc3项目有以下图层.
controller - > service - > repository.
我需要将ViewModel映射到Entity,不确定哪个层是放入代码的正确层.
我知道它的控制器或服务,请让我知道我应该使用哪一个,如果可以,请告诉我原因.
谢谢.
Dar*_*rov 10
我需要将ViewModel映射到Entity,不确定哪个层是放入代码的正确层.
控制器当然.服务和存储库层不知道视图模型的含义.他们只操纵领域模型.
因此,在控制器内部,您可以使用.Map<TSource, TDest>
调用在域模型和视图模型之间来回进行映射.但映射定义本身(.CreateMap<TSource, TDest>
调用)每个AppDomain生命周期执行一次,理想情况下在一个Profile
.
因此,让我们在RESTful术语中考虑控制器操作中的几个典型工作流
GET
(以RDBMS术语表示):
PUT
(以RDBMS术语插入):
DELETE
(以RDBMS术语删除)
POST
(以RDBMS术语更新):
.Map<TSource, TDest>
:Mapper.Map<ADomain, ViewModel>(domainInstanceControllerRetrievedUsingTheId, viewModelInstancePassedAsArgument);
有了这4个工作流程,您就可以为CRUD世界做好准备了.
PS一个REST提醒:
Create = PUT
Retrieve = GET
Update = POST
Delete = DELETE
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1440 次 |
最近记录: |