Entity Framework и глобальный обработчик сохранения / обновления данных через шаблон провайдера - PullRequest
0 голосов
/ 13 апреля 2011

Я новичок в структуре сущностей.Ранее я использовал другие уровни персистентности данных и хотел бы достичь следующих вещей, к которым привык, в других приложениях, которые я разработал.И я хотел бы спросить, возможно ли это с EF, и получить несколько рекомендаций о том, как сделать

. Мне бы хотелось, чтобы каждый раз, когда я сохранял сущность в базе данных (Add / Update), чтобы у меня была ловушка, где яможет «прикрепить» через шаблон поставщика различные функциональные возможности, которые должны быть вызваны до / после сохранения, транзакционным способом.Например, я мог бы хотеть реализовать AuditProvider.Это будет вызвано, если сохраняемая сущность реализует интерфейс IAuditEnabled, который добавляет свойства SysAddUser, SysAddDate, SysUpdateUser, SysUpdateDate (которые позволяют указать, какой пользователь добавил / обновил запись и в какой момент).Другой функциональностью может быть вызов BusinessEntityEnforcerProvider, который проверяет, реализует ли бизнес-объекты интерфейс IBusinessEntityEnforcer и вызывает метод EnforceBusinessRules.Всего несколько мыслей.

Просто чтобы уточнить, я хочу иметь возможность подключать различные функции к бизнес-объекту до / после сохранения, который я не хочу называть конкретно, но чтобы они всегда вызывалисьдо или после сохранения BO.

Я ценю любые предложения.

Спасибо

1 Ответ

2 голосов
/ 13 апреля 2011

Entity Framework Контекст объекта создается как частичный класс.Вы можете расширить реализацию и переопределить метод SaveChange , чтобы выполнять код до и после каждого сохранения.

...