Я просматривал образцы запросов LINQ, предоставленные с LINQPad, взятые из книги C # 4.0 в двух словах, и наткнулся на то, что я никогда не использовал в LINQ to SQL ... Скомпилированные запросы.
Вот точный пример:
// LINQ to SQL lets you precompile queries so that you pay the cost of translating
// the query from LINQ into SQL only once. In LINQPad the typed DataContext is
// called TypeDataContext, so we proceed as follows:
var cc = CompiledQuery.Compile ((TypedDataContext dc, decimal minPrice) =>
from c in Customers
where c.Purchases.Any (p => p.Price > minPrice)
select c
);
cc (this, 100).Dump ("Customers who spend more than $100");
cc (this, 1000).Dump ("Customers who spend more than $1000");
Что на самом деле дает мне прекомпиляция запроса LINQ to SQL, подобного этому? Получу ли я повышение производительности от запроса немного более сложного, чем этот? Используется ли это вообще на практике?