Entity Framework SaveChanges - настроить поведение? - PullRequest
1 голос
/ 23 июля 2011

Таким образом, вы создаете экземпляр контекста EF, вставляете или извлекаете объекты, он отслеживает полное состояние изменений объекта (если отслеживание изменений включено).До этого момента разработчик отвечал за внесение этих изменений.Но после вызова SaveChanges все эти записи передаются в массовом порядке, и разработчик лишается права голоса по окончательному результату, сохраняя сообщение об ошибке при ошибке или успешный вызов по завершении.

Есть ли способ настроитьПроцесс SaveChanges, чтобы это не был такой черный ящик?В идеале, возможность настроить процесс действительно открыла бы для меня вещи, особенно с моей архитектурой приложения.

Спасибо.

1 Ответ

3 голосов
/ 23 июля 2011

Обработка события SavingChanges - это один из способов, но для более сложной обработки вы можете переопределить саму операцию SaveChanges в производном контексте. Разница в том, что в SavingChanges вы можете поместить пользовательскую логику до того, как SaveChanges выполнит свою работу, но при переопределении SaveChanges вы можете поместить пользовательскую логику до и после вызова base.SaveChanges. Не улучшена поддержка пользовательской логики при сохранении. Использование пользовательского SQL для сохранения возможно только в том случае, если вы сопоставляете хранимые процедуры с операциями изменения данных ваших сущностей.

...