Итак, я ранее опубликовал вопрос о левом соединении результата запроса, в котором group by используется с другой таблицей, и это приводит к крайне неэффективному Outer Apply, вложенному в Cross Apply sql. Я не получил ничего полезного от ответов (хотя я ценю усилия), поэтому я решил провести еще какое-то исследование.
при перекрестном применении и внешнем применении:
Операторы перекрестного и внешнего применения
Эти операторы недоступны в
SQL Server 2000. LINQ to SQL пытается
серия переписывает, чтобы заменить их
с соответствующими соединениями.
Перекрестное применение и внешнее применение
создан для отношений
Navigations. Набор запросов для
какие такие переписывания возможны
не очень хорошо определено. По этой причине
минимальный набор запросов, который
поддерживается для SQL Server 2000 является
набор, который не предполагает отношения
навигация.
Я не буду спрашивать, почему они думают, что это хорошая идея, но я хотел бы знать, есть ли способ заставить linq to sql перейти в режим 2000. Казалось бы, это решило мою проблему.