用 LINQPad 精通 LINQ

  • Al Tenhundfeld
  • 王波

2009 年 2 月 5 日

话题:.NET语言 & 开发

LINQPad是一款由Joseph Albahari编写的免费独立应用程序,并是C# 3.0 in a Nutshell一书中的附加程序。

基本上,LINQPad 是集成了 IDE 和 SQL 的 LINQ 解析器。LINQPad 有简单而实用的用户界面,可即时执行 LINQ 查询,包括LINQ to SQLLINQ to ObjectsLINQ to XML等多语句查询。

LINQPad UI

LINQPad 提供了多种执行模式:

  • C# (或 VB) 表达式

        可执行单条 C# 或 VB 的 LINQ 表达式,并在结果窗格中显示最终的对象

  • C# (或 VB) 语句

        可执行多条 C# 或 VB 的 LINQ 表达式,LINQPad 有 Dump 扩展方法,在执行期间发送对象和文本到结果窗格

  • C# (或 VB) 程序

        在 Main() 函数中编写要执行的代码,可在 LINQPad 编辑器中定义其他类型和方法进行测试。

  • SQL

        使用 SQL 支持特定数据查询

记住 LINQPad 可执行任意 C# 或 VB.NET 代码非常重要,并不仅仅是 LINQ 表达式。这也意味着对于要进行简单测试的任何简短代码,LINQPad 非常有用,例如:棘手的数字格式字符串或者匹配正则表达式。

LINQPad 含有用于显示 LINQ 细微差别和功能的多个 LINQ 示例表达式,包括初学者示例和更高级的概念,如:延迟执行和投影。LINQPad 还有多用途分析功能,即显示结果的多种选择:

  • 默认结果视图
  • 由语句返回的对象和文本的简单图形
  • Lambda 视图
  • LINQ 表达式转换为可用的 Lambda 表达式
  • SQL 视图
  • LINQ 表达式转换为可用的 SQL
  • IL 视图
  • 针对代码生成的微软中间语言

LINQPad 允许用户引用自定义程序集和导入自定义命名空间来进行扩展。通过这种扩展可以支持LINQ to Entities。 

除了是学习和测试工具以外,LINQPad 针对 SQL 数据库执行特定查询方面越来越受欢迎。

输出到结果视图的简单 LINQ to SQL 表达式,如下所示:

LINQPad LINQ to SQL

输出到 Lambda 视图的简单 LINQ to SQL 表达式,如下所示:

LINQ to SQL - lambda view

输出到 SQL 视图的简单 LINQ to SQL 表达式,如下所示:

LINQ to SQL - SQL view

LINQPad 免费并不断更新。智能感知仅在许可证收费 ($19) 版本中可用。 使用 LINQPad 无需 Visual Studio ,但需要安装.NET Framework 3.5。

查看英文原文:Master LINQ with LINQPad

.NET语言 & 开发