⑴LINQPad是一款功能十分强大的.编程调试软件,这款软件软件轻量小巧但功能强大,用于使用LINQ交互式查询SQL数据库,以及交互式编写C#代码,而无需IDE,满足用户的编程需求,喜欢这款软件的小伙伴千万不要错过哦。
⑵【支持众多数据库】可连接 SQL / Azure、Oracle、SQLite、Postgres 及 MySQL 多种数据库。
⑶【代码调试校验】可执行任意 C# / F# / VB 表达式、代码段或程序,可引用自定义程序集与 NuGet 包。
⑷【高效数据库查询】内置 LINQ 查询优化引擎,即时构建类型化数据上下文,同时支持传统 SQL 查询。
⑸【Dump 优化输出】智能分析并呈现较优的结果,可渲染 WPF 对象、异步占位符、位图等。
⑹【自定义与功能拓展】支持使用 . 语言编写扩展脚本,编写自定义 Data Context 驱动或可视化工具。
⑺、如何显示多语句片段的结果?
⑻这在内部的示例中进行了解释 - 通过“分钟感应”工作。
⑼、可以引用自定义程序集和NuGet包吗?
⑽是 - 按F添加参考。NuGet包管理器仅在Developer和Premium版本中可用(尽管在免费版中,您仍然可以执行包含NuGet引用的已保存查询,并恢复丢失的包。
⑾、我的查询需要一个appsettings.json文件。怎么告诉该软件使用它?
⑿只需引用它:按F并单击“ 添加引用”。
⒀提示:您在该软件中引用的任何非程序集文件都将复制到查询的输出文件夹中,因此您还可以引用文本文件,XML文件和本机DLL等内容。
⒁、可以运行多线程和异步代码吗?
⒂是的,是的。该软件明确支持C#的异步函数,Reactive Extensions和Microsoft DataFlow。内置示例包括演示 - 转到LINQPad教程和参考> Scratchpad功能>高级功能。
⒃、为什么该软件会复制表和子关联属性?可以关掉它吗?
⒄多元化子关联属性(同时保持父关联单数可以实现最自然的查询。您可以通过在添加数据库连接时取消选中“Pluralize”选项来切换此选项。(如果已创建连接,请右键单击它以编辑连接属性。
⒅、为什么该软件大写列名?可以关掉它吗?
⒆该软件将属性名称大写以避免与C#关键字冲突。要关闭此选项,请在创建数据库连接时取消选中“大写”选项(或右键单击以编辑现有连接。
⒇、为什么该软件区分大小写?SQL不是!
⒈该软件的区分大小写取决于您在“语言”下拉列表中选择的语言。C#和F#区分大小写,而VB和SQL不区分大小写。(请记住,如果数据库具有区分大小写的排序规则,SQL Server会区分大小写表和列名称。
⒉、为什么该软件使用LINQ-to-SQL来查询SQL Server?为什么不是Entity Framework或EF Core?
⒊对于大型模式,LINQ-to-SQL速度更快,其冷启动开销不到EF或EF Core的一半。这减少了新的查询延迟,这在使用该软件进行SSMS样式的数据探索任务时非常有用。LINQPad的LINQ-to-SQL驱动程序也经过多年的广泛开发,包括对存储过程,表值函数,SQL Azure的多因素身份验证以及完整保真的SQL日志的支持,您可以将其输出粘贴到SSMS。您跨多个数据库进行偶数查询,并从链接服务器查询表。
⒋EF Core的优势在于它支持多个提供程序,而在该软件中,您可以利用内置的EF Core驱动程序来支持它,该驱动程序不仅支持SQL Server,还支持MySQL,Oracle,SQLite和PostgreSQL。
⒌在所有版本的该软件中,您都可以查询自己定义的Entity Framework模型。
⒍、买了LINQPad Premium版本,想要编写跨数据库查询。该怎么做呢?
⒎有两种方法可以做到这一点。最简单的是拖放方法:Ctrl在将其他数据库从Schema Explorer拖动到查询编辑器的同时按住键。要访问查询中的其他数据库,请使用database.table表示法,例如Northwind.Regions.Take(。您查询的数据库必须位于同一服务器上。
⒏第二种方法是在连接属性对话框中列出要查询的额外数据库。此对话框还允许您从链接的服务器中选择数据库。以下是如何继续:
⒐添加新的LINQ to SQL连接。
⒑选择“ 指定新数据库”或“现有数据库”,然后选择要查询的主数据库。
⒒单击“ 包括其他数据库”复选框,然后选择要包含的其他数据库。您还可以在此对话框中从链接服务器中选择数据库。
⒓、该软件提供了哪些扩展点?
⒔首先,您可以在My Extensions (快捷键Shift + Ctrl + Y中编写扩展方法(以及您希望在查询之间共享的任何其他代码。
⒕您还可以通过该软件的转储方法控制自定义类型的哪些字段/属性 - 或者完全接管渲染 - 单击此处了解详细信息。
⒖该软件还允许您编写 自定义数据上下文驱动程序和 自定义可视化工具。