代码之家  ›  专栏  ›  技术社区  ›  Raúl Roa

已编译的LINQ查询

  •  0
  • Raúl Roa  · 技术社区  · 15 年前

    我希望看到一个基本的、清晰的示例,说明如何编译LINQ to SQL查询。我在谷歌上搜索过,尽管有几个实现示例,但博客海报通常强调编译查询和未编译查询之间的时间响应差异。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Christian C. Salvadó    15 年前

    LinqToSQL编译查询基本上允许将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生成的类的分部类上的静态成员。

        2
  •  0
  •   Community Grant Miller    7 年前