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.