C# Asp.net在何处构建viewmodels
我正在从头开始构建一个mvc应用程序。目前,我非常怀疑从域实体到视图模型的映射应该放在哪里。我有以下的项目布局C# Asp.net在何处构建viewmodels,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我正在从头开始构建一个mvc应用程序。目前,我非常怀疑从域实体到视图模型的映射应该放在哪里。我有以下的项目布局 MVC应用程序 Bl层(每个域,订单1个,客户1个等) 存储库层。大部分是每张桌子 例如,现在我需要构建一个网格。调用控制器以获取屏幕上的网格,例如在索引页面上。然后索引页调用BL层,该层最终调用存储库来访问数据库中的数据。现在我的问题是,我应该在哪里将域属性映射到viewmodels?我可以在控制器或BL层中执行此操作。什么是赞成者和反对者?您应该将映射器逻辑保持在BL的单独类中
- MVC应用程序
- Bl层(每个域,订单1个,客户1个等)
- 存储库层。大部分是每张桌子
例如,现在我需要构建一个网格。调用控制器以获取屏幕上的网格,例如在索引页面上。然后索引页调用BL层,该层最终调用存储库来访问数据库中的数据。现在我的问题是,我应该在哪里将域属性映射到viewmodels?我可以在控制器或BL层中执行此操作。什么是赞成者和反对者?您应该将映射器逻辑保持在BL的单独类中,而不是控制器中。这主要是因为你的控制器不负责映射。应该有另一个类来处理此映射职责。我想这就是原则所说的
最好看看一些面向对象的设计原则。您的意思是在控制器中调用如下内容:List cityGridModel=CityMapper.Map(cityService.GetCities());或者你会做一些类似列表的事情吗?第二个更好,即
List