0
respostas

Erro em relacionamento: The property or navigation XX cannot be added to the entity type

Criei duas classes relacionadas: Unidade_Federativa e Unidade (que é o local onde a pessoa trabalha)

public class Unidade_Federativa { public int Id { get; set; } public Unidade_Federativa() { Listar_Unidades_da_UF = new List(); } public int CodigoUF { get; set; } public string Nome { get; set; } public string UF { get; set; } public int Regiao { get; set; }

// FAZ A LISTAGEM DAS UNIDADES DE UMA UF
public IList<Unidade> Listar_Unidades_da_UF; 

} ///////////////////

public void Configure(EntityTypeBuilder builder) { // RENOMEA A TABELA PARA builder.ToTable("dbo.tb_estado");

// REFAZ A CONFIGURAÇÃO DA COLUNA CHAVE PRIMARIA
builder.Property(a => a.Id).HasColumnName("PK");

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.CodigoUF)
.HasColumnName("CodigoUF")
.HasColumnType("int");

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.Nome)
.HasColumnName("Nome")
.HasColumnType("varchar(50)")
.IsRequired();

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.UF)
.HasColumnName("UF")
.HasColumnType("varchar(2)")
.IsRequired();

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.Regiao)
.HasColumnName("Regiao")
.HasColumnType("int")
.IsRequired();

} ///////////////////

public class Unidade { public int Id { get; set; } public Unidade_Federativa Unidade_Federativa { get; set; } public int Unidade_FederativaId { get; set; } public int Nome { get; set; } public string Sigla { get; set; } public bool Ativo { get; set; } } ///////////////////

public void Configure(EntityTypeBuilder builder) { // RENOMEA A TABELA PARA builder.ToTable("dbo.tb_unidade");

// REFAZ A CONFIGURAÇÃO DA COLUNA CHAVE PRIMARIA
builder.Property(a => a.Id).HasColumnName("PK");

// REFAZ A CONFIGURAÇÃO DA COLUNA UF
builder
.Property(a => a.Unidade_Federativa)
.HasColumnName("FK_CodigoUF")
.HasColumnType("int");

builder // FAZ O RELACIONAMENTO DA COLUNA UF
.HasOne(f => f.Unidade_Federativa)
.WithMany(i => i.Listar_Unidades_da_UF)
.HasForeignKey(x => x.Unidade_FederativaId);

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.Nome)
.HasColumnName("Nome")
.HasColumnType("varchar(35)")
.IsRequired();

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.Sigla)
.HasColumnName("Siga")
.HasColumnType("varchar(10)")
.IsRequired();

// REFAZ A CONFIGURAÇÃO DA COLUNA
builder
.Property(a => a.Ativo)
.HasColumnName("Ativo")
.HasColumnType("int")
.IsRequired();

}

O problema é que na hora de executar add-migration, dá o erro abaixo: The property or navigation 'Unidade_Federativa' cannot be added to the entity type 'Unidade' because a property or navigation with the same name already exists on entity type 'Unidade'.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software