linq调试神器之二——LinqPad 6.4.4 高级破解版

  • A+
所属分类:系统工具

既然有好几个做.NET开发的小伙伴都要求我收录这个软件,那我就勉为♂骑男的给大家分享吧。反正博主我是用不惯这软件的,平时我也就Resharper就能写出漂亮的linq了,然后用ozcode调试linq,Resharper+ozcode堪称完美。

linq调试神器之二——LinqPad 6.4.4 高级破解版

LINQPad是一个强大的客户端/服务器应用程序。而对于大多数客户端/服务器应用程序,有许多客户端和一个服务器,LINQPad有一个客户端和许多服务器!使用可立即测试任何C#/ F#/ VB片段或程序,在LINQ(或SQL)中查询数据库 - SQL / Azure,Oracle,SQLite,Postgres和MySQL。享受丰富的输出格式,可选的自动完成和集成调试以及使用您喜欢的.NET语言编写脚本并自动化。对于每个查询,LINQPad创建一个单独的服务器,该服务器在其自己的进程中运行并单独执行查询。此隔离可防止查询相互干扰(或UI),并允许LINQPad安全地取消查询而不会污染其他应用程序域。过去,LINQPad使用内存中的Remoting通道与服务器进程通信。现在它使用在Windows共享内存上运行的自定义编写通信层(是的,有很多指针!)这提供了更快,更可靠和完全异步的通信层。使用Microsoft Roslyn库编译您的查询(过去它使用.NET的CSharpCodeProvider和VBCodeProvider)。因为C#和VB是静态类型的,所以您引用的任何数据库对象都需要支持类型化的DataContext。为了提高性能,LINQPad动态构建了类型化的DataContexts,使用Reflection.Emit或者生成和编译源代码。LINQPad的转储命令提要输出到其显示使用嵌入式的Web浏览器的HTML流(您可以通过右键单击一个查询结果,然后选择“查看源文件”,转化为HTML通过做看这个叫Hyperlinq库。该单击超链接时,延迟扩展结果和延迟获取其他数据通过JavaScript工作。这意味着大多数HTML通常在查询完成执行后预先填充.lambda窗口使用自定义表达式树访问者填充(只需调用ToString on表达式树不好,因为它将整个输出放在一行上。LINQPad的查询编辑器使用Actipro的SyntaxEditor控件(非常精致的产品)。语法高亮,红色波浪下划线和自动完成等功能要求您在词法和语义上解析源代码。词法分析意味着读取原始文本流并将其分解为令牌流; 然后,语义解析器读取这些令牌并找出它们在上下文中的含义,从而发出代码DOM(称为抽象语法树)。最后一步是将AST中的节点解析为.NET类型和成员(绑定)。

linq调试神器之二——LinqPad 6.4.4 高级破解版
linq调试神器之二——LinqPad 6.4.4 高级破解版

软件功能

一、适用于C#,F#和VB的Ultimate Scratchpad

LINQPad不仅适用于LINQ查询,还适用于任何C#/ F#/ VB表达式,语句块或程序。结束那些混乱源文件夹的数百个Visual Studio Console项目,并加入LINQPad脚本编写者和增量开发人员的革命。

引用您自己的程序集和NuGet包。在LINQPad中对您的想法进行原型设计,然后将工作代码粘贴到Visual Studio中。或者直接从命令行调用脚本。

体验LINQPad丰富的输出格式,可选的调试器和自动完成功能,以及动态开发和即时反馈的神奇功能!

二、厌倦了在陈旧的SQL中查询?

好吧,你没必要!使用LINQPad,您可以使用现代查询语言以交互方式查询数据库:LINQ。LINQPad包含一个优化的引擎,可以动态构建类型化数据上下文,并包含驱动程序和格式化程序,用于:

SQL Server,SQL Azure,SQL CE,Oracle,SQLite,PostgreSQL和MySQL

Azure表存储和Azure元数据

实体框架核心自定义上下文

Microsoft Reactive Extensions和LINQ to Logs&Traces

OData和SharePoint

第三方ORM包括Mindscape LightSpeed,DevArt的LinqConnect,LLBLGen,DevExpress eXpress Persistent Objects和DevForce

LINQPad还支持.NET Framework中的所有LINQ API,包括LINQ to XML,PLINQ,Entity Framework和LINQ to SQL。

当你需要时,你仍然可以用老式的SQL查询 - 即使你的后端是SQLite,Oracle,MySQL或PostgreSQL - 没有任何繁重的安装!

LINQPad也是学习LINQ的好方法:它载有本书中的500个例子,Nutshell中的C#7.0。没有更好的方式来体验LINQ和函数式编程的酷感。

三、LINQPad的转储方法因其几乎可以吃任何东西而闻名!

通过多种启发式方法进行调整,它可以智能地运行对象图以获得最佳输出。它甚至将惰性对象转换为超链接,将异步值转换为其内容在未来实现的占位符!

图像和位图呈现为图像和位图,Reactive Extensions和Dataflow中的类型完全具有动画效果。

转储任何WPF或Windows窗体对象,它实际上将呈现。

当您需要传统的数据网格或调试器观察窗口时,它也在那里。

linq调试神器之二——LinqPad 6.4.4 高级破解版

使用说明

LINQPad不仅可以运行LINQ查询,还可以运行任何C#/ F#/ VB表达式,语句或程序。

例如,您是否需要测试DateTime格式字符串?在LINQPad中,只需输入表达式并按F5:

linq调试神器之二——LinqPad 6.4.4 高级破解版

借助LINQPad的即时编辑/运行周期和可选的完全自动完成功能,您可以在比启动Visual Studio的“ 添加引用”对话框所花费的时间更短的时间内完全调整代码片段!

那么测试一个正则表达式呢?你会开始使用正则表达式多了很多,一旦你有LINQPad:

linq调试神器之二——LinqPad 6.4.4 高级破解版

请注意LINQPad如何很好地格式化Match对象。复杂对象图在LINQPad的输出窗口中更易读。

要运行一系列语句,只需将“语言”组合更改为语句(或按Ctrl + 2):

linq调试神器之二——LinqPad 6.4.4 高级破解版

现在我们真的可以开始玩乐了。让我们创建一个新的RSA公钥/私钥对,然后加密和解密一些数据:

linq调试神器之二——LinqPad 6.4.4 高级破解版

同样,您可以继续调整代码,直到它完成您想要的操作,然后将工作代码粘贴 到Visual Studio中。

您甚至可以使用其他方法运行完整程序:只需将语言更改为程序,LINQPad将您的代码包装在 Main方法中,以便您可以编写其他方法和类。

需要引用自定义程序集或NuGet引用?没问题:只需在“ 添加引用”对话框中按F4即可。

额外的好处:

LINQPad 在状态栏中报告执行时间,因此您不必手动创建用于性能测试的Stopwatch类。

想要测试代码段的变体吗?Ctrl + Shift + C会立即克隆 您的代码段,以便您可以并排运行其他版本。

由于My Queries 树视图,您可以单击返回已保存的查询。使用LINQPad作为脚本工具!

您可以在任何WPF或Windows窗体控件上调用Dump,LINQPad将对其进行渲染。这是编写自定义可视化工具的好方法。

在My Queries树视图中,您将看到一个名为My Extensions的查询。在这里,您可以编写可供所有查询使用的方法和类。

常见问题

1、如何显示多语句片段的结果?

这在LINQPad内部的示例中进行了解释 - 通过“5分钟感应”工作。

2、我可以引用自定义程序集和NuGet包吗?

是 - 按F4添加参考。NuGet包管理器仅在Developer和Premium版本中可用(尽管在免费版中,您仍然可以执行包含NuGet引用的已保存查询,并恢复丢失的包)。

3、(LINQPad 6):我的查询需要一个appsettings.json文件。怎么告诉LINQPad使用它?

只需引用它:按F4并单击“ 添加引用”。

提示:您在LINQPad 6中引用的任何非程序集文件都将复制到查询的输出文件夹中,因此您还可以引用文本文件,XML文件和本机DLL等内容。

4、我可以运行多线程和异步代码吗?

是的,是的。LINQPad明确支持C#的异步函数,Reactive Extensions和Microsoft DataFlow。内置示例包括演示 - 转到LINQPad教程和参考> Scratchpad功能>高级功能。

5、为什么LINQPad会复制表和子关联属性?我可以关掉它吗?

多元化子关联属性(同时保持父关联单数)可以实现最自然的查询。您可以通过在添加数据库连接时取消选中“Pluralize”选项来切换此选项。(如果已创建连接,请右键单击它以编辑连接属性)。

6、为什么LINQPad大写列名?我可以关掉它吗?

LINQPad将属性名称大写以避免与C#关键字冲突。要关闭此选项,请在创建数据库连接时取消选中“大写”选项(或右键单击以编辑现有连接)。

7、为什么LINQPad区分大小写?SQL不是!

LINQPad的区分大小写取决于您在“语言”下拉列表中选择的语言。C#和F#区分大小写,而VB和SQL不区分大小写。(请记住,如果数据库具有区分大小写的排序规则,SQL Server会区分大小写表和列名称。)

8、为什么LINQPad使用LINQ-to-SQL来查询SQL Server?为什么不是Entity Framework或EF Core?

对于大型模式,LINQ-to-SQL速度更快,其冷启动开销不到EF或EF Core的一半。这减少了新的查询延迟,这在使用LINQPad进行SSMS样式的数据探索任务时非常有用。LINQPad的LINQ-to-SQL驱动程序也经过多年的广泛开发,包括对存储过程,表值函数,SQL Azure的多因素身份验证以及完整保真的SQL日志的支持,您可以将其输出粘贴到SSMS。您跨多个数据库进行偶数查询,并从链接服务器查询表。

EF Core的优势在于它支持多个提供程序,而在LINQPad 6中,您可以利用内置的EF Core驱动程序来支持它,该驱动程序不仅支持SQL Server,还支持MySQL,Oracle,SQLite和PostgreSQL。

在所有版本的LINQPad中,您都可以查询自己定义的Entity Framework模型。

9、我买了LINQPad Premium版本,想要编写跨数据库查询。我该怎么做呢?

有两种方法可以做到这一点。最简单的是拖放方法:Ctrl在将其他数据库从Schema Explorer拖动到查询编辑器的同时按住键。要访问查询中的其他数据库,请使用database.table表示法,例如Northwind.Regions.Take(100)。您查询的数据库必须位于同一服务器上。

第二种方法是在连接属性对话框中列出要查询的额外数据库。此对话框还允许您从链接的服务器中选择数据库。以下是如何继续:

添加新的LINQ to SQL连接。

选择“ 指定新数据库”或“现有数据库”,然后选择要查询的主数据库。

单击“ 包括其他数据库”复选框,然后选择要包含的其他数据库。您还可以在此对话框中从链接服务器中选择数据库。

10、LINQPad提供了哪些扩展点?

首先,您可以在My Extensions (快捷键Shift + Ctrl + Y)中编写扩展方法(以及您希望在查询之间共享的任何其他代码)。

您还可以通过LINQPad的转储方法控制自定义类型的哪些字段/属性 - 或者完全接管渲染 - 单击此处了解详细信息。

LINQPad还允许您编写 自定义数据上下文驱动程序和 自定义可视化工具。

注意事项

linqpad6基于.NET Core 3.0,所以请确保你已经安装了.NET Core运行时以及.NET Core Desktop运行时。

下载地址

抱歉,此资源仅限VIP下载,请先

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: