LINQPad

LINQPad — Free Download. Interactive environment for LINQ, SQL queries and .NET code execution
LINQPad is a development tool that functions as an interactive environment for executing code snippets in C#, F#, and Visual Basic. It allows querying databases using LINQ and SQL, with support for multiple data providers such as SQL Server, Oracle, PostgreSQL, MySQL, and SQLite. The program includes a result formatting system called "dump" that visualizes complex data structures. LINQPad operates as a REPL (Read-Eval-Print Loop) for .NET, facilitating quick code testing without needing to create full projects in Visual Studio. It includes features like intelligent autocomplete, NuGet integration, debugging, and script execution from the command line.
5.0(1 ratings)

Download LINQPad (Official links)
File size: 44.1 MB
The latest version of LINQPad is: 9
Operating system: Windows
Languages: English
Price: $0.00 USD

  • Interactive code execution. LINQPad processes expressions, statement blocks, and complete programs in C#, F#, and Visual Basic. It provides immediate feedback after executing each code snippet. This functionality eliminates the need to create temporary console projects for testing. The environment maintains state between executions by caching intermediate results.
  • LINQ queries to databases. The program generates automatic association properties from foreign key constraints in databases. These properties allow navigation between related tables without needing to write explicit joins. LINQPad includes drivers for SQL Server, Azure SQL, SQLite, PostgreSQL, Oracle, and MySQL. Query results are presented with expandable links to explore relationships.
  • Advanced result formatting (Dump). The .Dump() method analyzes complex object structures and presents them in a hierarchical format. It renders images and bitmaps as visual elements, converts asynchronous objects into placeholders, and displays rendered WPF/Windows Forms controls. It includes the .Chart() method to generate graphs from data. The output allows expanding and collapsing sections via hyperlinks.
  • Support for multiple .NET languages. LINQPad supports C# up to version 14, F#, and Visual Basic with full compatibility with .NET Framework and .NET Core/5/6/7/8/9/10. It executes code that uses advanced features like async/await, lambda expressions, and nullable reference types. The reference system allows including custom assemblies and NuGet packages directly from the interface.
  • Productivity tools for development. It includes code autocompletion with IntelliSense, navigation between symbols, code outlining, and bookmarks. It allows cloning existing queries with a single command. The integrated debugging system enables setting breakpoints and inspecting variables. The #load function makes it possible to import other .linq or .cs files as dependencies.
  • Integration with external technologies. LINQPad connects with BenchmarkDotNet for performance measurements, with xUnit to run unit tests, and with Reactive Extensions for reactive programming. It includes OAuth authentication for APIs and an integrated password manager. It exports data to Excel using native engines that generate .XLSX files with automatic tables and filters.
  • Artificial intelligence features. The Premium edition incorporates AI functions including code completion, conversational chat, and an intelligent agent. The agent accesses the database schema (with user permission) and uses the LINQPad compiler to validate generated code. It supports models like Claude Sonnet, Gemini, and GPT through configurable providers.
  • Scripting and automation. Executes LINQPad scripts from the command line with customizable parameters. Scripts can handle system administration tasks, data processing, and cloud operations. The centralized password manager stores API keys using Windows DPAPI or macOS Keychain. It allows multi-factor authentication that retains tokens between executions.
  • Support for file-based applications. LINQPad 9 introduces #:project and #:package directives to work with structured projects as standalone applications. This feature allows developing and testing complete applications within the environment. It facilitates the transition from prototypes to production projects by copying code to Visual Studio.
  • Data comparison and analysis. Includes the Util.Dif engine to perform diffs between texts and lists. It allows pivoting and merging data before visualization. JSON export handles complex structures with readable formats. The redesigned data grid in LINQPad 9 allows editing values directly in the results view.
  • Database transaction management. Controls transaction isolation levels via a dropdown menu or the Util.TransactionIsolationLevel property. This function ensures consistency in operations involving multiple queries. Changes can be committed or rolled back from the program interface.
  • Interface customization and shortcuts. LINQPad 9 features an updated editor with light and dark themes, per-monitor DPI scaling, and native trackpad handling. All commands have customizable keyboard shortcuts. Unified search locates commands, settings, and documentation within the environment.
  • Examples and learning resources. The program includes 1300 examples from the book "C# 12 in a Nutshell" and interactive samples from Jon Skeet's "C# in Depth". These examples cover LINQ to Objects, LINQ to XML, Entity Framework, and asynchronous programming. Each example can be run and modified directly in the editor.
  • Extensible architecture via drivers. The extensibility model allows creating data context drivers as NuGet packages. Developers can implement support for custom databases or unconventional data sources. The high-performance scaffolding system generates optimized data models for frequent queries.

LINQPad was created by Joseph Albahari, author of "C# in a Nutshell" and co-founder of the online education platform Tekst. Development began in 2007 as a tool to explore the capabilities of LINQ in C# 3.0 and .NET Framework 3.5. The program is written primarily in C# and uses Windows Presentation Foundation (WPF) for its graphical interface. Version 1.0 was released in 2007, coinciding with the release of .NET Framework 3.5. Throughout successive versions, support was added for F#, Visual Basic, .NET Core, and multiple database systems. LINQPad has accumulated over five million downloads and is distributed in versions for Windows and macOS. The standard edition remains free with no expiration date, while the Premium and Developer editions include advanced features like integrated AI and debugging.


Alternatives to LINQPad: