使用Automapper,如何处理对象的属性值到字符串实例的映射。基本上我有一个Role对象列表,我想使用Automapper将每个“name”属性的内容映射到相应的字符串列表(所以我最后得到一个字符串列表)。我确信它有一个明显的答案,但我找不到我需要添加到“CreateMap”以使其工作的映射。
相关代码的示例如下所示:
public class Role
{
public Guid Id{get;set;}
public string Name{get;set;}
...
...
}
// What goes in here?
Mapper.CreateMap<Role, string>().ForMember(....);
var allRoles = Mapper.Map<IList<Role>, IList<string>>(roles);
答案 0 :(得分:25)
我喜欢Automapper(并在许多项目中使用它),但使用简单的LINQ语句会不会更容易?
var allRoles = from r in roles select r.Name
AutoMapper实现此目的的方法:
Mapper.CreateMap<Role, String>().ConvertUsing(r => r.Name);