I need to relate the Person with Person entity to the Person using the EF Core, but is giving the following error in Migrations:
"The navigation property 'PersonFilial' can not be added to the entity type 'PersonCadastro' because a property with the same name already exists on entity type 'PersonCadastro'."
I need the relationship to stay that way in the bank:
publicclassPessoa{publicintPessoaId{get;privateset;}publicvirtualPessoaNaturezaPessoaNatureza{get;set;}publicvirtualPessoaFisicaPessoaFisica{get;set;}publicvirtualPessoaJuridicaPessoaJuridica{get;set;}publicvirtualICollection<PessoaCadastro>PessoasCadastros{get;set;}publicvirtualICollection<PessoaCadastro>PessoaCadastroPessoasFiliais{get;set;}publicstaticPessoaCreateNew(intpessoaId,PessoaNaturezapessoaNatureza){returnnewPessoa{PessoaId=pessoaId,PessoaNatureza=pessoaNatureza};}}}
publicclassPessoaCadastro{publicintPessoaId{get;privateset;}publicintId{get;privateset;}publicDateTimeDataInclusao{get;privateset;}publicvirtualPessoaTipoPessoaTipo{get;set;}publicvirtualPessoaPessoa{get;set;}publicvirtualPessoaPessoaFilial{get;set;}publicstaticPessoaCadastroCreateNew(intpessoaId,intid,PessoapessoaFilial,DateTimedataInclusao){returnnewPessoaCadastro(){PessoaId=pessoaId,Id=id,PessoaFilial=pessoaFilial,DataInclusao=dataInclusao};}}
publicclassPessoaCadastroMap:IEntityTypeConfiguration<PessoaCadastro>{publicvoidConfigure(EntityTypeBuilder<PessoaCadastro>builder){builder.ToTable("PessoaCadastro");
builder.HasKey(pc => new { pc.Id, pc.PessoaTipo, pc.PessoaId, pc.PessoaFilial });
builder.Property(pc => pc.PessoaTipo)
.HasColumnName("PessoaTipoId")
.HasColumnType("int")
.IsRequired();
builder
.HasOne(p => p.Pessoa)
.WithMany(p => p.PessoasCadastros)
.HasForeignKey(p=> p.PessoaId)
.IsRequired();
builder.Property(pc => pc.PessoaId)
.HasColumnName("PessoaId")
.HasColumnType("int")
.IsRequired();
builder
.HasOne(p => p.PessoaFilial)
.WithMany(p => p.PessoaCadastroPessoasFiliais)
.HasForeignKey(p=> p.PessoaFilial)
.IsRequired();
builder.Property(pc => pc.PessoaFilial)
.HasColumnName("PessoaFilialId")
.HasColumnType("int")
.IsRequired();
}
}
What do I need to do in my mapping to work?