Entidade Framework 4: Diferenças e aplicações entre os métodos AddObject e Anex
Na Entidade Framework (EF), o gerenciamento de entidades envolve dois métodos: addObject
e adquirem
. addObject
é usado para inserir novas entidades no sistema, enquanto Anexe
é usado para processar entidades que já existem no banco de dados.
addObject: usado para criar uma nova entidade
] conforme declarado no título, addObject
é usado para criar uma nova entidade. Este método atribui um entitykey gerado e define o EntityState como adicionado. Quando SaveChanges
é chamado, EF entende que essa entidade precisa ser inserida no banco de dados.
Anexar: usado para modificar uma entidade existente
] em contraste, anexe
é usado para modificar uma entidade que já existe no banco de dados. Ao usar anexar
, o entityState não está definido como adicionado. Ele permanece inalterado, indicando que nenhuma modificação ocorreu desde que a entidade está anexada ao contexto. Isso permite que a EF use o valor do entityKey ao chamar SaveChanges
para identificar uma entidade e atualizá -lo ou excluí -lo conforme necessário.
cenários de aplicativos do método de anexo
] Um cenário prático para o método anexe
é atualizar uma entidade existente sem recuperar explicitamente do banco de dados. Por exemplo, se você tem um objeto de pessoa existingPerson
que já existe no contexto, você pode atualizar suas propriedades e anexá -lo ao contexto:
var ctx = new MyEntities();
var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
existingPerson.Name = "Joe Briggs";
ctx.Persons.Attach(existingPerson);
ctx.SaveChanges();
usando Anexe
, você pode evitar executar consultas adicionais para recuperar o estado atual de uma entidade.
Resumir
Entendendo a diferença entre addObject
e Anexe
é essencial para o uso eficiente da estrutura da entidade. addObject
é usado para entidades recém -criadas, enquanto anexe
é usado para entidades existentes, permitindo que você as modifique com eficiência e eficiência.
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