Пользовательская реализация отслеживания изменений для Entity Framework 4.0 / 4.1 WCF

#wcf #entity-framework-4.1 #dto

#wcf #entity-framework-4.1 #dto

Вопрос:

Я пытаюсь создать пользовательский механизм отслеживания изменений для Entity Framework 4.1 в моем проекте из-за использования DTO и служб WCF.

У меня есть 2 варианта, когда дело доходит до обновления ситуации

  1. Я могу просто отправить все поля объекта в базу данных в качестве обновления, хотя ни одно поле данных не изменилось.(один вызов базы данных может быть избыточным действием)

  2. Получить предыдущие данные из базы данных и сравнить с обновленными, объединить изменения и отправить в базу данных. (минимум два вызова базы данных стоимость операции слияния)

Какой наилучший подход выбрать, когда мы думаем о производительности, и если второй выбор, есть ли какие-либо инструменты, помощники для автоматического объединения изменений для меня?

Ответ №1:

Для выполнения этой работы вы можете использовать свою любимую платформу генерации прокси. Недавно я разработал систему отслеживания отмен / повторов и изменений для MongoDB. Я использовал mixins и создал завернутый прокси-тип для каждого типа сущности во время выполнения. поэтому всякий раз, когда вы извлекаете документ из mongodb, он возвращает экземпляр этого типа прокси.