"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Marco de la entidad 4: ¿Cuándo usar `adjectObject` vs` addObject`?

Marco de la entidad 4: ¿Cuándo usar `adjectObject` vs` addObject`?

Publicado el 2025-04-30
Navegar:741

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

Entity Framework 4: mastering addObject y adjuntar

Uso efectivo de Entity Framework depende de la comprensión de los roles distintos de objectSet.adDobject y objectSet.attach . Mientras addObject inserta nuevas entidades, adjuntar administra las existentes. Sin embargo, las situaciones que requieren adjuntar se pueden matar.

un caso de uso clave para adjuntar involucra entidades separadas del contexto. Esto a menudo ocurre después de recuperar una entidad y posteriormente cerrar el contexto. Para volver a participar esta entidad para la modificación, use adjuntar :

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

esto genera una instrucción update , evitando una recuperación de base de datos redundante.

Otra aplicación valiosa de adjuntar está conectando entidades existentes y unidas con contexto que carecen de relaciones automáticas. Considere una entidad persona con una propiedad de navegación (una colección de dirección entidades). Si ha cargado tanto persona y dirección pero su relación no está establecida, adjuntar proporciona la solución:

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();
aquí,

adjuntar actualiza la relación sin modificar las entidades mismas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3