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'.