Entity Framework 4: Различия и приложения между AddObject и Methods
] в Entity Framework (ef), управление объектами включает в себя два метода: AddObject
и atture
. addObject
используется для вставки новых сущностей в систему, в то время как atture
используется для обработки сущностей, которые уже существуют в базе данных.
addObject: используется для создания новой сущности
]]], как указано в заголовке, addObject
используется для создания новой сущности. Этот метод назначает сгенерированную EntityKey и устанавливает Antitystate на добавление. Когда savechanges
вызывается, EF понимает, что эта сущность должна быть вставлена в базу данных.
atture: используется для изменения существующей сущности
]]] Напротив, atture
используется для изменения объекта, которая уже существует в базе данных. При использовании прикрепить
, EntityState не установлен на добавление. Он остается неизменным, указывая на то, что никакой модификации не произошло, поскольку сущность прикреплена к контексту. Это позволяет EF использовать значение EntityKey при вызове SaveChanges
для идентификации объекта и обновления или удаления его по мере необходимости.
сценарии применения метода ATCTION
] Практический сценарий для метода прикреплять
- обновить существующую сущность без явного извлечения из базы данных. Например, если у вас есть объект Person существующий лиц
, который уже существует в контексте, вы можете обновить его свойства и добавить его в контекст:
var ctx = new MyEntities();
var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
existingPerson.Name = "Joe Briggs";
ctx.Persons.Attach(existingPerson);
ctx.SaveChanges();
]
, используя прикрепить
, вы можете избежать выполнения дополнительных запросов для получения текущего состояния сущности.
Summarize
Понимание разницы между addObject
и прикреплять
] имеет важное значение для эффективного использования структуры сущности. addObject
используется для вновь созданных сущностей, в то время как прикреплять
используется для существующих сущностей, позволяя вам эффективно и эффективно изменять их.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3