自动映射列表变为0

Sha*_*ean 8 asp.net-mvc automapper asp.net-mvc-3

我正在使用Automapper将列表映射到另一个列表,但似乎我的项目未被复制.

这是我的代码:

var roles = userRepo.GetRoles(null).ToList();
Mapper.CreateMap < List<Domain.Role>, List<Role>>();
var mappedRole = Mapper.Map<List<Domain.Role>, List<Role>>(roles); //the count is 0, list empty :(
Mapper.AssertConfigurationIsValid();
Run Code Online (Sandbox Code Playgroud)
  1. 没有例外被抛出.
  2. 所有属性都具有相同的名称.

Domain.Role

public class Role
{
    public int RoleId { get; set; }
    public string RoleName { get; set; }
    public List<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

角色

public class Role
{
    public int RoleId { get; set; }
    public string RoleName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 33

不要在列表和数组之间创建映射,只在类型之间创建:

Mapper.CreateMap<Domain.Role, Role>();
Run Code Online (Sandbox Code Playgroud)

然后:

var mappedRole = Mapper.Map<List<Domain.Role>, List<Role>>(roles);
Run Code Online (Sandbox Code Playgroud)

AutoMapper自动处理列表和数组.