«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Entity Framework 4: Когда использовать `adtactObject` против` addObject`?

Entity Framework 4: Когда использовать `adtactObject` против` addObject`?

Опубликовано в 2025-04-30
Просматривать:297

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

Entity Framework 4: Mastering addObject и atture

]

эффективное использование структуры объекта зависит от понимания различных ролей objectset.addobject и objectset.attach . While addobject вставляет новые сущности, attach управляет существующими. Однако ситуации, требующие прикреплять , могут быть нюансами.

один вариант использования ключей для atture включает сущности, отделенные от контекста. Это часто происходит после получения сущности и впоследствии закрытия контекста. Чтобы повторно информировать эту сущность для модификации, используйте atture :

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

это генерирует оператор обновление , избегая избыточного поиска базы данных.

Еще одно ценное применение прикрепить соединяет существующие, связанные с контекстом объекты, в которых не хватает автоматических отношений. Рассмотрим person объект с адресами address navigation property (коллекция address entities). Если вы загрузили оба person и address объекта, но их отношения не установлены, atture предоставляет решение:

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();
]

здесь, прикрепить обновляет отношения без изменения самих сущностей.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3