"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Entidade Framework 4: Quando usar o `AtitingObject` vs` addObject`?

Entidade Framework 4: Quando usar o `AtitingObject` vs` addObject`?

Postado em 2025-04-30
Navegar:809

Entity Framework 4: When to Use `AttachObject` vs. `AddObject`?

Entidade Framework 4: Mastering addObject e adquirir

Uso efetivo da estrutura da entidade depende da compreensão dos papéis distintos de objectSet.adDoBject e objectSet.attach . While addObject insere novas entidades, adquirir gerencia as existentes. No entanto, as situações que requerem anexam podem ser matizadas.

Um caso de uso chave para Anexe envolve entidades destacadas do contexto. Isso geralmente ocorre após recuperar uma entidade e subsequentemente fechar o contexto. Para reabastecer essa entidade para modificação, use Anexe :

var existingPerson = new Person { Name = "Joe Bloggs" };
ctx.Persons.Attach(existingPerson);
existingPerson.Name = "Joe Briggs";
ctx.SaveChanges();

isso gera uma instrução update , evitando uma recuperação redundante de banco de dados.

Outra aplicação valiosa de Anexe está conectando entidades existentes e ligadas ao contexto que carecem de relacionamentos automáticos. Considere uma entidade pessoa com um endereços navegação (uma coleção de endereço entidades). Se você carregou os objetos PESOLE e , mas o relacionamento deles não está estabelecido, Anexe fornece a solução:

var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
var myAddress = ctx.Addresses.First(a => a.PersonID != existingPerson.PersonID);
existingPerson.Addresses.Attach(myAddress);
ctx.SaveChanges();
aqui,

Anexe atualiza o relacionamento sem modificar as próprias entidades.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3