Entity Framework с длительным контекстом объекта

Одно из моих главных неудобств при использовании Linq to SQL в WinForms (и, осмелюсь предположить, WPF) - это отсутствие поддержки для длительных текстов данных, см. здесь.

Проблема в том, что вы не можете получать обновления из базы данных, вы получаете только те же самые старые записи, пока не выбросите текст данных. Это нормально для веб-приложения, когда страница жива только в течение миллисекунд, но не так хорошо в приложении winforms с несколькими связанными элементами управления, которые привязаны к старому тексту данных и находятся на рабочем столе пользователя.

У меня вопрос: есть ли у EF это ограничение или вы можете получать обновленные записи из EF, не выбрасывая контекст объекта?


person Christopher Edwards    schedule 27.01.2009    source источник


Ответы (1)


Вы можете использовать метод ObjectContext.Refresh для обновления существующего контекста.

person Andrew Peters    schedule 27.01.2009
comment
Спасибо. На самом деле вы можете использовать db.Refresh (System.Data.Linq.RefreshMode.KeepChanges, myObjectsCollection) в Linq to SQL, но он выдает отдельный запрос выбора для каждого отдельного объекта, который необходимо обновить. Вы случайно не знаете, эффективнее ли ObjectContext.Refresh? - person Christopher Edwards; 27.01.2009