LINQ к SQL не обновляет, когда данные изменились в базе данных

У меня есть эта проблема, где после поля (говорят, что Field3 в таблице MyTable) обновляется на базе данных, MyTable.Field3 (в C#), все еще возвращает старое значение.

Я подозреваю, что... существует некоторое кэширование?

Как делают я вызываю его к:
Считать значение из базы данных?
ИЛИ
Обновить значение в классе MyTable?

Или есть ли что-нибудь, что я пропускаю? Я плохо знаком с LINQ

Заранее спасибо.

13
задан Aximili 20 April 2010 в 03:35
поделиться

2 ответа

DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);

Если вы хотите обновить весь набор сущностей, самый простой способ - это, вероятно, просто создать новый DataContext и запросить все.

11
ответ дан 1 December 2019 в 23:47
поделиться

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

6
ответ дан 1 December 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: