Обновляем кеш LinqToSql

При работе с LinqToSql нередко приходится сталкиваться с тем, что даже после сохранения обновлённых данных в приложении по прежнему доступна их прежняя версия.

В этом случае при выполнении выборки данных следует произвести очистку кеша.

Операция очистки кеша выполняется при помощи метода Refresh контекста подключения к базе данных. В основном используются две его перегрузки. Обе они принимают два параметра.

Первый из них — режим обновления. Имеет тип System.Data.Linq.RefreshMode. Для обновления кеша нужно установить значение OverwriteCurrentValues;

Второй объект сущности базы данных для которого требуется обновить кеш или набор таких объектов в формате IEnumerable.

Ниже приведён пример использования метода Refresh для набора объектов.

В результате набор services будет содержать только актуальную версию данных.

Для единичного объекта метод Refresh применяется аналогичным образом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *