Скомпилированные запросы LinQ - PullRequest
0 голосов
/ 01 апреля 2009

Я хотел бы увидеть простой и понятный пример того, как скомпилировать запрос LinQ to SQL. Я гуглил об этом, и хотя есть несколько примеров реализации, как правило, постеры блогов подчеркивают разницу во времени между скомпилированными и некомпилированными запросами.

Ответы [ 2 ]

1 голос
/ 01 апреля 2009

LINQ To SQL Скомпилированные запросы в основном позволяют преобразовывать запрос LinqToSQL в обычный SQL, только один раз во время компиляции, поэтому запрос может быть повторно использован без выполнения какого-либо перевода.

Они представлены как статические Func делегаты, получающие экземпляр DataContext и параметры, которые будут использоваться в запросе:

public static Func<MyDataContext, string, IQueryable<Entity>>
    TestQuery =
        CompiledQuery.Compile((MyDataContext ctx, string param) =>
            from e in ctx.Entities where e.Field == param select e);

Обычная практика заключается в том, что скомпилированные запросы могут храниться как статические члены в частичном классе, который расширяет класс, сгенерированный DataContext.

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