2010-08-24 2 views
1

Как заставить LINQPad предоставить мне не кэшированный результат из запроса LINQ2SQL?Не кэшированные результаты в LINQPad

Сценарий таков:

1) изучить некоторые данные (например, из в MyThings где ... выберите) .Первый(); 2) изменять данные за пределами LINQPad сразу после (служебный вызов) 3) пересмотреть некоторые данные (из раздела MyThings, где ... выберите a) .First();

Кажется, что кеширование результатов. : -/

+0

Я использую LP ежедневно и никогда не сталкиваюсь с этим сценарием. Без подробностей это трудно ответить. Я могу заверить вас, что LP не кэширует что-либо. Возможно, вы новичок в Linq для SQL, и он ведет себя так, как вы этого не ожидаете. (то есть: отложенная загрузка) – John

ответ

5

LINQPad создает новый DataContext каждый раз, когда вы нажимаете F5, поэтому нет возможности кэшировать между запросами. Тем не менее, если вы сбросить два раза в том же запросе, второй результат будет кэшировать:

Customers.First (c => c.Name == "John").Dump(); 
Thread.Sleep (5000); 
Customers.First (c => c.Name == "John").Dump(); // Result will be cached 

Это в силу LINQ к отслеживанию объектов в SQL. Вы можете отключить его, отключив отслеживание объектов - так же, как вы обычно:

+0

Забыл сказать: спасибо! :-) –

 Смежные вопросы

  • Нет связанных вопросов^_^