Общий метод для сравнения 2 объектов и обновления изменений от одного к другому в C # - PullRequest
0 голосов
/ 16 февраля 2012

Проблемный случай:

Моя проблема заключается в редактировании отключенных объектов POCO и их сохранении в базе данных (Uisng Entity Framework).При этом сгенерированный sql обновляет ВСЕ свойства, хотя на самом деле изменились только некоторые из них.Когда я делаю то же самое в контексте, сгенерированный sql корректно обновляет только измененные свойства.Это вызывает проблемы с моим кодом аудита, поскольку он неправильно хранит изменения во всех свойствах.Это усугубляется, когда сущность, которую я настаиваю, имеет сложную модель со многими взаимосвязями.

Мое предлагаемое решение:

Вместо того, чтобы присоединять измененную сущность к контексту,Я хочу запросить сущность, а затем вручную синхронизировать два объекта с помощью универсального метода, который будет работать для любой модели.Поэтому мне нужно сравнить все свойства каждого объекта и обновить измененные свойства для присоединенного объекта.Как мне обновить данные в свойствах, помня, что изменения могут включать новые или измененные отношения?

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...