Трубы и фильтры и CompiledQuery.Compile - PullRequest
1 голос
/ 16 сентября 2009

Я начал использовать linq to sql и платформу сущностей и нашел, что опыт разработки был довольно хорошим. Подобно тому, как вы можете разбить запрос на части и объединить разные запросы, это очень удобно - смотрите каналы и фильтры.

Но проблема, которую я обнаружил, заключается в том, что производительность можно значительно увеличить (в моем случае примерно в 4 раза, которую я не могу игнорировать), если я использую скомпилированные запросы. Но проблема, которую я обнаружил в скомпилированных запросах, заключается в том, что им не нравится работать с IQueryable ...

У кого-нибудь есть идеи, как мне обойти этот недостаток ??? Я работал так, что скомпилированный запрос просто ссылался на другие запросы, использующие IQueryable, так что я мог переключаться или не использовать скомпилированные запросы или нет. Но, как я выяснил, это не так хорошо работает.

Есть идеи?

Приветствие Энтони

1 Ответ

1 голос
/ 16 сентября 2009

Нет, вы не можете скомпилировать результаты CompiledQuery с другим IQueryable. Помните, что единственной целью CompiledQuery является кэширование результатов преобразования IQueryable в каноническое дерево команд Entity Framework. Если бы вы могли затем скомпоновать это с другим IQueryable, то его нужно было бы перекомпилировать для выполнения, что полностью противоречит цели CompiledQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...