编译的LinQ查询

时间:2009-04-01 05:37:03

标签: .net linq-to-sql

我想看一个如何编译LinQ to SQL查询的基本而清晰的示例。我已经开始搜索它了,即使有几个实现示例,通常博客海报也会强调编译和非编译查询之间的时间响应差异。

2 个答案:

答案 0 :(得分:1)

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生成的类的部分类上。

答案 1 :(得分:0)