1

ビューモデル内のプロパティの重複について質問があります。私の検索ビューには、次のようなビューモデルがあります

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;}
}

リスト表示モデル

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;}
   }
}

たくさんの物件を複製しているような気がします。先に進んでworkerというDTOクラスのように作成し、それをこれらの各ビューモデルクラスに配置するのが理想的かどうか疑問に思っていました。それとも、このようなことを行うためのより良い方法はありますか?

ありがとう

4

2 に答える 2

2

コードを改善して重複を減らすために提案したように、各ViewModelでWorkerViewModelを使用します。

于 2010-11-25T17:12:48.527 に答える
1

絶対にワーカー クラスを作成し、これらのプロパティをオブジェクトに配置します。

于 2010-11-26T05:51:38.193 に答える