Контекст данных сущности не синхронизирован с базой данных? - PullRequest
0 голосов
/ 28 марта 2011

Итак, вот ситуация -

  • Я вставляю элемент в базу данных, вызывая AddtoObject (), а затем вызываю SaveChanges ().
  • Затем я вызываю сохраненныйПроцедура для обновления текущей вставленной записи.
  • Затем я снова вызываю Save changes ().
  • База данных, когда я запрашиваю ее, имеет правильное обновленное значение, но контекст структуры сущности неиметь обновленные значения ... в первый раз ... всякий раз, когда я обновляю страницу, она получает значение ... но в первый раз она никогда не получает обновленные значения.

Так что кто-нибудь сталкивался с подобной проблемой в любое время?Что я тут не так делаю?

1 Ответ

6 голосов
/ 28 марта 2011

Проблема в том, что EF не знает, что делает ваша хранимая процедура, как это может? Эта работа выполняется на SQL Server. Поэтому после выполнения вашей хранимой процедуры вам нужно попросить EF обновить этот (и другой связанный) экземпляр, выполнив вызов Refresh():

context.Refresh(RefreshMode.StoreWins, myObject);

StoreWins указывает платформе перезаписывать значения в экземпляре значениями из базы данных.

...