Por exemplo eu tenho uma classe pessoa e toda pessoa pode ter um cônjuge caso ela queira (Opcional).
Vamos supor que eu tenha duas pessoas cadastradas no banco:
PessoaId: 1, Nome: João, PessoaConjugeId = null
PessoaId: 2, Nome: Maria, PessoaConjugeId = null
Eu quero que quando atualizar o joão assim:
PessoaId: 1, Nome: João, PessoaConjugeId = 2
Automaticamente a maria fique assim:
PessoaId: 2, Nome: Maria, PessoaConjugeId = 1
Gostaria de saber se o entity framework possui alguma configuração que automatize esse processo de atualização, se não existir qual seria o melhor caminho para realizar esse processo de atualização?
//Classe Pessoa public class PessoaModel { public int? PessoaId { get; set; } public string Nome { get; set; } public int? PessoaConjugeId { get; set; } public virtual PessoaModel PessoaConjuge { get; set; } } //Fluent API protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<UsuarioModel>() .HasOptional(c => c.UsuarioConjuge) .WithMany() .HasForeignKey(c => c.UsuarioConjugeId); } //Metodo que atualiza public UsuarioModel Atualizar(UsuarioModel model) { MeuSistemaContext db = new MeuSistemaContext(); if (db.Entry(model).State == EntityState.Detached) { db.Set<UsuarioModel>().Attach(model); } db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return model; }