Entity framework EF核心导航属性和映射配置文件
我正在尝试将映射应用于导航属性,但出现错误。我有两个类,它们包含一对多的导航属性Entity framework EF核心导航属性和映射配置文件,entity-framework,entity-framework-core,navigation-properties,Entity Framework,Entity Framework Core,Navigation Properties,我正在尝试将映射应用于导航属性,但出现错误。我有两个类,它们包含一对多的导航属性 public class Contractor : Entity<string> { public virtual Collection<DocsVat> DocsVats { get; set; } } public class DocsVat : Entity<Guid> { public Contractor Contractor { get; se
public class Contractor : Entity<string>
{
public virtual Collection<DocsVat> DocsVats { get; set; }
}
public class DocsVat : Entity<Guid>
{
public Contractor Contractor { get; set; }
}
如何修复它?错误似乎与配置有关,而不是实体框架。您需要发布更详细的错误消息,但显然Automapper正在尝试映射
DocsVat
的属性Contractor
,但它找不到该属性的映射配置
在配置
DocsVatDto=>DocsVat
的映射时忽略该属性,或者创建一个映射以将Contractor转换为=>Contractor
您是否解决了该问题?
public class DocsVatEntityConfiguration : EntityTypeConfigurationBase<DocsVat>
{
protected override void ConfigureEntity()
{
Builder.ToTable("DocsVat", "VAT");
Builder.HasKey(p => p.Id);
Builder.HasOne(p => p.Contractor).WithMany(p=>p.DocsVats).HasForeignKey(p =>
p.ContractorNo).IsRequired();
Builder.Property(p => p.Id).HasColumnName("Id").IsRequired();
}
}
public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap<Entities.DocsVat, DocsVatDto>();
CreateMap<DocsVatDto, Entities.DocsVat>();
CreateMap<FnPurchaseDetail, DocsVatDto>();
CreateMap<Entities.DocsVat, DocsVatDto>().ForMember(dto => dto.Contractor, conf =>
conf.MapFrom(ent => ent.Contractor.Id));
}
}
Error mapping types.
Mapping types:
DocsVatDto -> DocsVat
###.ApplicationServices.Doc.DocsVAT.Dto.DocsVatDto -> ###.Entities.DocsVat
Type Map configuration:
DocsVatDto -> DocsVat
###.ApplicationServices.Doc.DocsVAT.Dto.DocsVatDto -> ###.Entities.DocsVat
Destination Member:
Contractor