使用BaseViewModel并继承Model的ViewModel
本文关键字:ViewModel Model 继承 BaseViewModel 使用 | 更新日期: 2023-09-27 18:03:04
我有n层应用程序(实体层-业务层- Web层)。我喜欢使用ViewModels(在Web层)有下拉列表等丰富的基本业务对象(实体层)到UI。为此,我使用一个BaseViewModel (Web Layer)在每个ViewModel有下拉或默认值,它允许我只是调用方法来填充数据,非常有用。
现在我想找到一个聪明的方法来避免重新键入所有实体层属性到VM。
目前,这里有一个我所做的例子:
模型:
Class CustomObjectModel {
public int id {get;set;}
public string name {get;set;}
public string description {get;set;}
}
VM:
public Class CustomObjectViewModel : BaseViewModel {
public int id {get;set;}
public string name {get;set;}
public string description {get;set;}
public List<possibleNames> string {get;set;}
}
BaseVM:
public Class BaseViewModel{
public List<string> FillNames(){...}
public List<string> DefaultName(){...}
}
和我不想重新键入模型属性到VM…如何?
我可以使用继承:CustomObjectModel继承了BaseViewModel,然后CustomObjectViewModel继承了CustomObjectModel,但从实体项目中引用WEB真的不干净,这让我觉得不舒服。
Thanks to help me:-)
您可以使用AutoMapper http://automapper.org/或类似于ExpressionMapper http://www.codeproject.com/Tips/1009198/Expressmapper-The-New-NET-Mapper