Entity Framework в многоуровневых архитектурах - Удаление и добавление

ОГЛАВЛЕНИЕ

Удаление и добавление

При удалении пользователем клиента метод Delete­Customer CustomerManager получает сущность клиента и выполняет операцию удаления:

context.Attach(customer);
context.DeleteObject(customer);
context.SaveChanges();

Прежде всего, экземпляр сущности Customer должен быть повторно объединен с ObjectContext с помощью метода Attach. Затем клиент должен быть удален из контекста ObjectContext. При использовании такого способа механизму отслеживания изменений контекста ObjectContext известно об удалении экземпляра сущности Customer. Наконец, при вызове метода SaveChanges теперь контексту ObjectContext известно об удалении сущности, поэтому он должен создать команду SQL DELETE и выполнить ее.

При добавлении пользователем клиента метод AddCustomer CustomerManager получает сущность клиента и выполняет операцию вставки, например следующую:

context.AddToCustomers(customer);
context.SaveChanges();

Этот экземпляр сущности является новым, поэтому он должен быть добавлен в контекст и отмечен как новый экземпляр сущности Customer путем сопоставления экземпляра сущности Customer с контекстом ObjectContext с помощью метода AddToCustomer. Наконец, при вызове метода SaveChanges теперь контексту ObjectContext известно о добавлении удалении сущности, поэтому он должен создать команду SQL INSERT и выполнить ее.