Referenciar a mesma entidade na entidade
Boa noite,
Estou trabalhando com .NET, programando usando Code First. A minha dúvida é a seguinte, tenho uma classe chamada Pessoa e a mesma é referenciada no BD, tenho que ter um atributo Pessoa pessoaSalvou; para saber qual pessoa que salvou e irei usar mais para frente em outros processos. Mas quando faço essa referencia o BD diz que não é possível referenciar pois é a mesma entidade. Alguém pode me ajudar?
Estou trabalhando com .NET, programando usando Code First. A minha dúvida é a seguinte, tenho uma classe chamada Pessoa e a mesma é referenciada no BD, tenho que ter um atributo Pessoa pessoaSalvou; para saber qual pessoa que salvou e irei usar mais para frente em outros processos. Mas quando faço essa referencia o BD diz que não é possível referenciar pois é a mesma entidade. Alguém pode me ajudar?
Yuri Moraes
Curtidas 0
Respostas
Jothaz
22/07/2015
Posta a sua classe e se possível o modelo de classe e de dados.
GOSTEI 0
Yuri Moraes
22/07/2015
A entidade é:
public class Pessoa
{
public int PessoaID { get; set; }
public string Nome { get; set; }
public string Telefone1 { get; set; }
public bool Aprovador { get; set; }
public DateTime DataCadastro { get; set; }
public int Aprovador1ID { get; set; }
public virtual Pessoa Aprovador1 { get; set; }
}
e sua EntityConfig é:
public class PessoaConfiguration: EntityTypeConfiguration<Pessoa>
{
public PessoaConfiguration()
{
HasKey(p =>p.PessoaID);
Property(p => p.Nome)
.IsRequired()
.HasMaxLength(150);
/* Minha duvida esta aqui
HasOptional(p => p.Aprovador1)
.WithMany()
.HasForeignKey(p => p.Aprovador1ID);*/
}
}
public class Pessoa
{
public int PessoaID { get; set; }
public string Nome { get; set; }
public string Telefone1 { get; set; }
public bool Aprovador { get; set; }
public DateTime DataCadastro { get; set; }
public int Aprovador1ID { get; set; }
public virtual Pessoa Aprovador1 { get; set; }
}
e sua EntityConfig é:
public class PessoaConfiguration: EntityTypeConfiguration<Pessoa>
{
public PessoaConfiguration()
{
HasKey(p =>p.PessoaID);
Property(p => p.Nome)
.IsRequired()
.HasMaxLength(150);
/* Minha duvida esta aqui
HasOptional(p => p.Aprovador1)
.WithMany()
.HasForeignKey(p => p.Aprovador1ID);*/
}
}
GOSTEI 0
Yuri Moraes
22/07/2015
A entidade é:
public class Pessoa
{
public int PessoaID { get; set; }
public string Nome { get; set; }
public string Telefone1 { get; set; }
public bool Aprovador { get; set; }
public DateTime DataCadastro { get; set; }
public int Aprovador1ID { get; set; }
public virtual Pessoa Aprovador1 { get; set; }
}
e sua EntityConfig é:
public class PessoaConfiguration: EntityTypeConfiguration<Pessoa>
{
public PessoaConfiguration()
{
HasKey(p =>p.PessoaID);
Property(p => p.Nome)
.IsRequired()
.HasMaxLength(150);
/* Minha duvida esta aqui
HasOptional(p => p.Aprovador1)
.WithMany()
.HasForeignKey(p => p.Aprovador1ID);*/
}
}
public class Pessoa
{
public int PessoaID { get; set; }
public string Nome { get; set; }
public string Telefone1 { get; set; }
public bool Aprovador { get; set; }
public DateTime DataCadastro { get; set; }
public int Aprovador1ID { get; set; }
public virtual Pessoa Aprovador1 { get; set; }
}
e sua EntityConfig é:
public class PessoaConfiguration: EntityTypeConfiguration<Pessoa>
{
public PessoaConfiguration()
{
HasKey(p =>p.PessoaID);
Property(p => p.Nome)
.IsRequired()
.HasMaxLength(150);
/* Minha duvida esta aqui
HasOptional(p => p.Aprovador1)
.WithMany()
.HasForeignKey(p => p.Aprovador1ID);*/
}
}
GOSTEI 0
Randrade
22/07/2015
Iago, sempre ao postar código, utilize a tag code </> no editor. Deixa o código mais limpo e fácil de entender.
Poste o erro mostrado (em inglês mesmo).
A entidade é: public class Pessoa { public int PessoaID { get; set; } public string Nome { get; set; } public string Telefone1 { get; set; } public bool Aprovador { get; set; } public DateTime DataCadastro { get; set; } public int Aprovador1ID { get; set; } public virtual Pessoa Aprovador1 { get; set; } } e sua EntityConfig é: public class PessoaConfiguration: EntityTypeConfiguration<Pessoa> { public PessoaConfiguration() { HasKey(p =>p.PessoaID); Property(p => p.Nome) .IsRequired() .HasMaxLength(150); /* Minha duvida esta aqui HasOptional(p => p.Aprovador1) .WithMany() .HasForeignKey(p => p.Aprovador1ID);*/ } }
Poste o erro mostrado (em inglês mesmo).
GOSTEI 0