Array
(
)

Referenciar a mesma entidade na entidade

Yuri Moraes
|
MVP
    22 jul 2015

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?

Jothaz
   - 23 jul 2015

Posta a sua classe e se possível o modelo de classe e de dados.

Yuri Moraes
|
MVP
    23 jul 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);*/

}
}

Yuri Moraes
|
MVP
    23 jul 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);*/

}
}

Randrade
   - 23 jul 2015

Iago, sempre ao postar código, utilize a tag code </> no editor. Deixa o código mais limpo e fácil de entender.

Citação:
#Código

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