Fun*_*nky 7 c# model asp.net-mvc-3
我刚刚开始研究一个MVC项目,事情进展顺利,但看起来我正在用太多的对象创建很多意大利面条代码.在整个项目失控之前,有谁能看到我如何简化这个解决方案?
好的,这是我的设置:
DAL - 具有实体框架连接和方法以获取数据,然后将数据转换为模型层中的模型对象
BLL - 将数据发送回UI模型 - 这包含整个站点中使用的所有模型对象,通过创建新对象然后填充变量,将来自DAL的任何内容转换为这些对象.
UI - 我的MVC解决方案
DAL,BLL和Model也被其他解决方案使用.
现在使用MVC,我试图使用验证注释([Required]等),这意味着我必须使用注释重新创建模型对象.这很好但是如果我想将数据保存回数据库,我需要转换那些只是凌乱的类.
任何人都可以看到我如何使用我当前的模型类库与使用验证注释的MVC模型对象?
如果我没有清楚地解释自己,请告诉我,我会提供更多细节.
谢谢
理想情况下,一方面需要与领域模型分离,另一方面需要与 MVC 模型(它们实际上是ViewModel )分离。这种分离确实至关重要,也是强烈建议的。
尽管 ViewModel 可以包含额外的内容,但在大多数情况下它们看起来非常相似。然后您可以使用AutoMapper从一种转换为另一种。
例如:
public class User // in entity DLL
{
[Required]
public string Name {get; set;}
}
public class UserViewModel : User // in MVC DLL
{
public string LastVisitedPage {get; set;} // which only MVC needs to know
}
Mapper.Map<User, UserViewModel>();
Mapper.Map<UserViewModel, User>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |