Как EF4 определяет, действительно ли свойство изменилось? - PullRequest
0 голосов
/ 03 декабря 2010

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

   //Get only Modified Customer entries
   var modifiedCustomerOses = context.ObjectStateManager
     .GetObjectStateEntries<Customer>(EntityState.Modified)
     .ToList();

, что я заметил, и я использую EF4 с codeGeneration, который сообщает, что свойство на самом деле не модифицируется как измененное.Если для свойства EG «CustomerName» задано значение «John», и когда я делаю обновление, я не изменяю имя, но делаю EntityCustomer.Name = customerDto.Name, и имя точно такое же, что оно все равно сообщает, что изменилось.

Я посмотрел на сгенерированный код и не вижу, выполняет ли свойство EF проверку, например

if (name == value) // propertyNotchanged dont повыситьevent.

Есть предложения?Знаете ли вы, как EF4 определяет, действительно ли свойство изменилось?

спасибо

1 Ответ

1 голос
/ 03 декабря 2010

Отслеживание выполняется на уровне объекта, а не на уровне свойства.
Более подходящий способ отследить, если свойство было изменено, - это использовать частичный метод OnPropertyChanged .
Просто создайтеПользовательский код, который будет содержать измененные свойства.

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