powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / кэширование объектов в Linq to Sql
7 сообщений из 7, страница 1 из 1
кэширование объектов в Linq to Sql
    #36485031
behod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LINQ to SQL кэширует объекты (после апдейта даннных в базе, linq выдает все равно старый результат)
Здесь http://geekswithblogs.net/DanBedassa/archive/2009/02/12/linq-to-sql-cache-issue.aspx описана проблему чуть подробнее и говорится что помогает

Код: plaintext
myContext.ObjectTrackingEnabled = false;

но отключение трекинга объектов так же несет за собой не очень приятные последствия.

Есть ли какой-нибудь другой способ отключить кэширование?
И собственно говоря не совсем понятно зачем это кеширование сделано — получается, что один клиент меняет данные, а другой клиент все еще видит старые данные до пересоздания контекста (или же надо постоянно контекст пересоздавать?)
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36485032
behod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
линк на страницу неправильно вставил вот:
http://geekswithblogs.net/DanBedassa/archive/2009/02/12/linq-to-sql-cache-issue.aspx
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36485179
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ObjectTrackingEnabled это не кеширование, это включение отслеживания объектов.
Хотите кеширование - делайте ручками.
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36485954
behod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я знаю, что это не кеширование, но факт остается фактом, linq не обновляет данные (видимо где-то кешируются объекты трекинга) пока не пересоздать контекст, может я что-то не так делаю.

Плюс с чего вы взяли что мне надо это кеширование, я же наоборот пишу, что мне надо его убрать. И собственно я интересуюсь, можно ли это как-то убрать (может какой-нибудь хитрый параметр) или сама идеология linq это не позволяет (тогда я ее не очень понимаю)
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36486027
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
behodя знаю, что это не кеширование, но факт остается фактом, linq не обновляет данные (видимо где-то кешируются объекты трекинга) пока не пересоздать контекст, может я что-то не так делаю.
И правильно. С чего бы это вдруг ему обновлять данные? Вы предсьавляете себе нагрузку, если бы при каждом пуке конткест обновлял данные с сервера? :)
Поэтому, правилами хорошего тона предписано: на каждый чих нужно пересоздавать контекст. Уже обсуждали перфоманс контекста, поищите на форуме.
Как вариант, можете руководствоваться паттерном репозиторий, в рамках которого будет единый контекст (которой по IDisposable будет высвобождаться).
Вариантов много, идея одна: убивайте контекст, когда он не нужен. Не держите зазря ресурсы.
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36486120
behod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно
спасибо
...
Рейтинг: 0 / 0
кэширование объектов в Linq to Sql
    #36490039
Ниггадяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нас в проекте тож такая хрень была. перед употреблением рефрешиться надо (context.Refresh(item))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / кэширование объектов в Linq to Sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]