我正在尝试为automapper创建地图以让我映射那些实体
实体
public class Entity
{
...
public List<NavigationEntity> Navs { get; set; }
}
public class NavigationEntity
{
public int Id { get; set; }
}
需要与实体一起创建的DTO
public class EntityDto
{
...
public List<int> NavIds { get; set; }
}
这似乎并没有完成任务!该做什么工作?
CreateMap<Entity, EntityDto>().ReverseMap();
CreateMap<NavigationEntity, int>().ConstructUsing(x => x.Id);
编辑
试图添加
CreateMap ,List
但仍然没有映射
答案 0 :(得分:0)
首先,应将public List<NavigationEntity> Navs { get; set; }
和public List<int> NavIds { get; set; }
重命名为相同的名称。如果仍然无法正常运行,请尝试将ConstructUsing也更改为ConvertUsing。而且,如果您需要将Entity的reverseMap映射到EntityDTO,还应该添加
CreateMap<int, NavigationEntity>().ConvertUsing(x => new NavigationEntity { Id = x });
最终代码
public class Entity
{
...
public List<NavigationEntity> Navs { get; set; }
}
public class NavigationEntity
{
public int Id { get; set; }
}
public class EntityDto
{
...
public List<int> Navs { get; set; }
}
...
CreateMap<Entity, EntityDto>().ReverseMap();
CreateMap<NavigationEntity, int>().ConvertUsing(x => x.Id);
CreateMap<int, NavigationEntity>().ConvertUsing(x => new NavigationEntity { Id = x });