我们使用 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
?