LINQ工具介绍:LINQPad
==
学习LINQ工具:LINQPad
LINQPad支持C# 3.0 和 Framework 3.5的所有功能:
◆LINQ to SQL
◆LINQ to Objects
◆LINQ to XML
LINQPad 也是很好的学习LINQ的工具,包含《C# 3.0 in a Nutshell》一本书可以使用200个示例LINQPad感受LINQ超酷功能和函数编程。
LINQPad 完全免费,无需安装,下载后可直接运行,只有2.12 MB大小。LINQPad 需要先安装.NET Framework 3.5,支持 SQL Express、SQL 2000、 SQL 2005和SQL 有限功能2008。
LINQPad可以使用LINQ交互查询SQL不需要数据库SQL Management Studio了。
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表达式如下:
输出到Lambda视图的简单LINQ to SQL表达式如下:
输出到SQL视图的简单LINQ to SQL表达式如下:
LINQPad免费和不断更新。智能感知只收取许可费($19)版本可用。 使用LINQPad无需Visual Studio ,但需要安装.NET Framework 3.5。
以上就是LINQ工具:LINQPad的介绍。
参考资料:Infoq:《用LINQPad精通LINQ》;YJingLee's Blog:《学习LINQ工具:LINQPad 》。
===
介绍一个非常有创意的工具LINQPad
亮点:
可以使用LINQ直接查询数据库,当然也可以查询实体或XML。从现在开始慢慢练习。LINQ思考!
假如你经常使用它 SQL Server 查询分析器,想了解 LINQ,用这个工具,相信两周后会变得很习惯。 LINQ 思维方式。
运行环境:
A) 安装 .NET Framework 3.5 (minimal impact) or
B) 安装l Visual C# 2008 Express or
C) 安装 Visual Studio 2008
有了.NET 3.5 的支持,LINQPad 可单独操作(可直接在编辑界面执行)C#语句或数据库SQL查询)
演示:
1) 查询实体
2) 查询数据库
可以切换到SQL最终执行的面板查询SQL语句
3) 查询 XML
怎么样?你有想试试的冲动吗?LINQPad下载到你的爱机上
LoongTsui 按:
技术代码(动态代码执行)主要用于软件:
1.publicboolCompile(IEnumerablereferences,stringsource,stringoutputFile)2. {3.//... 省略部分4. Dictionarydictionary=newDictionary();5. dictionary.Add("CompilerVersion","v3.5");6. CSharpCodeProvider provider=newCSharpCodeProvider(dictionary);7. CompilerParameters options=newCompilerParameters(Enumerable.ToArray(references), outputFile,true);8. options.TreatWarningsAsErrors=false;9. options.GenerateExecutable=false;10. options.IncludeDebugInformation=true;11. CompilerResults results=provider.CompileAssemblyFromSource(options,newstring[] { source });12.//... 省略部分:定位编译错误
本文特别补充了一篇,见:
动态执行C#代码