2015-07-16 2 views
1

У меня есть приложение n-layer (Entity Layer - Business layer - веб-уровень). Мне нравится использовать ViewModels (на веб-уровне), чтобы иметь список выпадающего списка и т. Д. Для базового бизнес-объекта erich (уровень Entity) для пользовательского интерфейса. Для этого я использую BaseViewModel (Web Layer) в каждой ViewModel с раскрывающимися или значениями по умолчанию, это позволяет мне просто вызывать методы для заполнения данных, очень полезно.ViewModel, который использует BaseViewModel и наследует модель

Теперь я хочу найти умный способ избежать повторного ввода всех свойств объекта Entity Layer в виртуальную машину.

На данный момент, вот пример того, что я делаю:

Модель:

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(){...} 
} 

И я не хотите повторно вводить модель pr Операции с VM ... Как?

Я мог бы использовать наследование: CustomObjectModel наследует BaseViewModel, а затем CustomObjectViewModel наследует CustomObjectModel, но на самом деле не так просто иметь ссылку на WEB из Entites project, и это заставляет меня чувствовать себя некомфортно с ним.

Спасибо, чтобы помочь мне :-)

ответ

Смежные вопросы