Automapper を使用して、エンティティ (EF/データベースから) をビュー モデルにマップします。Classification
私たちのプロジェクトは、それぞれがプロパティを持つ一連のプロパティを持つと呼ばれるクラスとの関係を持つエンティティを扱いDisplayName
ます。
次のようなビューモデルがあるときはいつでも:
public class PersonViewModel{
public string Nationality{get;set;}
public string Gender {get;set;}
public string HairColour {get;set;}
}
そして、私たちのエンティティはそうかもしれません(これは実際の例ではありません)
public class Person {
public Classification Classification {get;set;}
public string Name {get;set;}
}
public class Classification {
public Gender Gender {get;set;}
public HumanHairColour HairColour {get;set;}
public Nationality Nationality {get;set;}
}
内部の各プロパティクラスにClassification
は次のDisplayName
ようなプロパティがあります
public class Gender {
public string DisplayName { get; set; }
public int Id { get; set; }
}
public class Nationality {
public string DisplayName { get; set; }
//...
}
public class HumanHairColour {
public string DisplayName { get; set; }
//...
}
現時点では、プロパティにPersonViewModel
名前を付けClassificationNationalityDisplayName
たり、そのようなばかげたことをしたりしない限り、各プロパティのマッピングを手動で追加する必要があります。
ある種のルールをAutomapper
セットアップに追加して、Classification
クラスに類似した名前のプロパティがあるかどうかを確認し、そのクラスを使用して文字列にマップすることは可能DisplayName
ですか?