2010-11-25 2 views
1

У меня вопрос о дублировании свойств в моделях просмотра. Для моего поиска Вид у меня есть ViewModel, который выглядит, как этотВопрос о дублирующих свойствах в ViewModels

public class SearchModel 
{ 
    public IEnumerable<SelectListItem> Genders {get;set;} 
    ... other select lists 
    // Worker Details 
    public string FirstName {get;set;} 
    public string LastName {get;set;} 
    public DateTime Birthdate {get;set;} 
    public int Phone {get;set;}et 
    public string Gender {get; set;} 

    //Address Details 
    public string Street {get;set;} 
    public string City {get;set;} 
    public string Zip {get; set;} 


} 

Для моего входа Вид у меня есть следующий вид модели

public IEnumerable<SelectListItem> Genders {get;set;} 
    public IEnumerable<SelectListItem> Directions {get;set;} 
    ... other select lists 
    // Worker Details 
    public string FirstName {get;set;} 
    public string LastName {get;set;} 
    public DateTime Birthdate {get;set;} 
    public int Phone {get;set;}et 
    public string Gender {get; set;} 

    public string SSN {get; set;} 
    public string DL {get;set;} 

    //Address Details 
    public int Number {get;set;} 
    public string Direction {get;set;} 
    public string Suffix {get;set;} 
    ..... 

    public string Street {get;set;} 
    public string City {get;set;} 
    public string Zip {get; set;} 
} 

дисплейный список Model

public class ListDisplayModel 
{ 
    public IEnumerable<Worker> Workers {get;set;} 

    internal class Worker 
    { 
     public string FirstName {get;set;} 
     public string LastName {get;set;} 
     public DateTime Birthdate {get;set;} 
     public int Phone {get;set;}et 
     public string Gender {get; set;} 

     public string SSN {get; set;} 
     public string DL {get;set;} 

     //Address Details 
     public int Number {get;set;} 
     public string Direction {get;set;} 
     public string Suffix {get;set;} 
     public string Street {get;set;} 
     public string City {get;set;} 
     public string Zip {get; set;} 
    } 
} 

Я чувствую, Я дублирую много свойств. Мне было интересно, будет ли это идеально для меня идти вперед и создавать как класс DTO, называемый рабочим, и просто поместить его в каждый из этих классов модели представлений или есть лучший способ сделать что-то вроде этого?

Благодаря

ответ

2

Я бы с WorkerViewModel в каждой ViewModel, как вы предложили, чтобы улучшить код и уменьшить дублирование.

+0

Согласен, использование DTO здесь имеет смысл. – 2010-11-25 20:11:47

1

Абсолютно создайте рабочий класс и поместите эти свойства в объект.

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