Я просматривал примеры запросов LINQ, поставляемых с LINQPad, взятых из C # 4.0 в книге Nutshell, и наткнулся на то, что я никогда не использовал в 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?Получу ли я повышение производительности от запроса, немного более сложного, чем этот?Это даже используется в реальной практике?