Встроен ли шаблон activerecord в Entity Framework 4.0? - PullRequest
2 голосов
/ 25 октября 2010

Раньше я использовал Sub Sonic, в которой запечатлен шаблон activerecord. С Sub Sonic было очень легко найти «грязные» поля в обновлении. Теперь у меня есть необходимость создать таблицу аудита в моем приложении, использующем Entity Framework 4. Есть ли в EF 4 сопоставимая функция, которая даст мне грязные поля?

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 25 октября 2010

Функциональность, аналогичную описанной на этой странице, можно получить по адресу MSDN:

Разрешение удостоверений, управление состоянием и отслеживание изменений

Отслеживание изменений -> Информация отслеживания изменений для графа объектов хранится в объектах ObjectStateEntry, которые создаются ObjectContext для каждого присоединенного объекта.Объекты ObjectStateEntry хранят следующую информацию для сущностей:

...

Имена измененных свойств сущности.

Состояние сущности -> TheКонтекст объекта должен знать состояние объекта для сохранения изменений обратно в источник данных.Объекты ObjectStateEntry хранят информацию EntityState.Методы SaveChanges объектов ObjectContext обрабатывают объекты, которые присоединены к контексту, и обновляют источник данных в зависимости от EntityState каждого объекта.Для получения дополнительной информации см. Создание, добавление, изменение и удаление объектов.В следующей таблице показаны возможные состояния объекта.

Состояние объектов внутри контекста объекта управляется ObjectStateManager.Чтобы узнать состояние объекта, вызовите один из следующих методов ObjectStateManager: TryGetObjectStateEntry, GetObjectStateEntry или GetObjectStateEntries.Свойство State ObjectStateEntry определяет состояние объекта.

Для получения дополнительной информации ознакомьтесь с этой статьей:

Что нового и интересного в Entity Framework 4.0

...