Как можно запретить Entity Framework вызывать хранимую процедуру обновления, даже если ничего не изменилось? - PullRequest
0 голосов
/ 20 января 2011

У меня есть объект A, который имеет ссылку на объект B через свойство prop. Это отношение 1-n (внешний ключ в таблице соответствует A).

Отношение является двунаправленным (B имеет свойство, которое перечисляет все A, через которые оно связано с prop).

Мы смогли определить, что в этом случае вызов метода saveChanges вызывал хранимую процедуру update для таблицы B, хотя ни один из столбцов в таблице не изменился.

Это нормально / ожидается? Как кто-то должен сделать, чтобы избежать этого?

Редактировать : Я проверил флаги состояния для объектов "A" и "B", и, как и ожидалось, объект "B" находится в "неизменном" состоянии.

Редактировать 2 : Спасибо всем за сообщение о флагах обновлений (я не знал, как получить доступ к этой информации) - что привело меня к поиску этой ссылки, описав мою проблему более подробно:

Entity Framework 4 Entity с EntityState без изменений при обновлении

1 Ответ

0 голосов
/ 26 января 2011

Существует исправление, упомянутое в http://support.microsoft.com/kb/2390624

Хотя описание этой проблемы поддержки слабо связано с поведением, которое я описываю, предоставленное исправление также решает мою проблему.

Эта проблема была публично исправлена ​​в выпуске 4.5 .NET Framework. Для платформы .NET 4.0, я ожидаю, что использование EF 6.0 (в настоящее время в бета-версии) также решит проблему.

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