У меня есть эта проблема, где после поля (говорят, что Field3 в таблице MyTable) обновляется на базе данных, MyTable.Field3
(в C#), все еще возвращает старое значение.
Я подозреваю, что... существует некоторое кэширование?
Как делают я вызываю его к:
Считать значение из базы данных?
ИЛИ
Обновить значение в классе MyTable?
Или есть ли что-нибудь, что я пропускаю? Я плохо знаком с LINQ
Заранее спасибо.
DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);
Если вы хотите обновить весь набор сущностей, самый простой способ - это, вероятно, просто создать новый DataContext и запросить все.
Вы неправильно понимаете модель. Linq to SQL не передается в базу данных каждый раз, когда вы запрашиваете члена. Когда вы извлекаете объект из базы данных, он сохраняется в памяти как объект Linq to SQL, и там он стоит. Вы не получите обновленную версию объекта, пока не запросите базу данных снова.