[英]How to correctly map Model to Entity in Automapper 6.1.1?
I'm using automapper in my project and until today was with the very old version of it and I decided to update it to the latest version. 我在项目中使用的是automapper,直到今天仍使用旧版本,因此我决定将其更新为最新版本。
When executing my project and testing some apis, some worked normally (without relationships), but others appeared the following error: 在执行我的项目并测试某些api时,某些api正常工作(没有关系),但是其他api出现以下错误:
Error mapping types.
错误映射类型。
Mapping types: PaginaModelCadastro -> Pagina Identidade.App.Models.PaginaModelCadastro -> Identidade.Domain.Entities.Pagina
映射类型:PaginaModelCadastro-> Pagina Identidade.App.Models.PaginaModelCadastro-> Identidade.Domain.Entities.Pagina
Type Map configuration: PaginaModelCadastro -> Pagina Identidade.App.Models.PaginaModelCadastro -> Identidade.Domain.Entities.Pagina Property: IdDominio
类型映射配置:PaginaModelCadastro-> Pagina Identidade.App.Models.PaginaModelCadastro-> Identidade.Domain.Entities.Pagina属性:IdDominio
Following is all classes and mappings that refer to the error: 以下是所有引用该错误的类和映射:
** Automapper configuration class ** **自动映射器配置类**
public static void Configure()
{
Mapper.Initialize(map =>
{
map.AddProfile<EntityToModelMapping>();
map.AddProfile<ModelToEntityMapping>();
});
}
Mapping from model to entity 从模型到实体的映射
CreateMap<PaginaModelCadastro, Pagina>()
.ForMember(dest => dest.IdDominio, src => src.MapFrom(m => new Dominio() { IdDominio = m.IdDominio }));
Class: Dominio 类:多米尼奥
public class Dominio
{
public virtual int IdDominio { get; set; }
public virtual string Descricao { get; set; }
public virtual ICollection<Pagina> Paginas { get; set; }
}
Class: Pagina 类:Pagina
public class Pagina
{
public virtual int IdPagina { get; set; }
public virtual string Descricao { get; set; }
public virtual int IdDominio { get; set; }
public virtual Dominio Dominio { get; set; }
public virtual ICollection<Permissao> Permissoes { get; set; }
}
There is no way to map between IdDominio and Dominio. 无法在IdDominio和Dominio之间进行映射。 You have to remove that ForMember you have.
您必须删除该ForMember。 Maybe you meant
也许你是说
CreateMap<PaginaModelCadastro, Pagina>()
.ForMember(dest => dest.Dominio, src => src.MapFrom(m => new Dominio() { IdDominio = m.IdDominio }));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.