LINQPad Premium v9.11.10
Download LINQPad Premium v9.11.10
The .NET Programmer’s Playground:
Instantly test any C#/F#/VB snippet or program
Query databases in LINQ (or SQL) — SQL/Azure, Oracle, SQLite, Postgres & MySQL
Enjoy rich output formatting, autocompletion with AI and integrated debugging
Script and automate in your favorite .NET language, with all the benefits of a REPL
Interoperate with BenchmarkDotNet, xUnit, Rx, MSAL, Excel and more
Super lightweight — small and fast, with xcopy option
Standard edition free with no expiry
LINQPad is not just for LINQ queries, but any C#/F#/VB expression, statement block or program. Put an end to those hundreds of Visual Studio Console projects cluttering your source folder and join the revolution of LINQPad scripters and incremental developers.
Reference your own assemblies and NuGet packages. Prototype your ideas in LINQPad and then paste working code into Visual Studio. Or call your scripts directly from the command-line.
Want to test a variation of your script? Clone your query in a single keystroke!
Experience LINQPad’s rich output formatting, optional debugger and autocompletion, and the magic of dynamic development and instant feedback!
With LINQPad, you can interactively query databases directly in LINQ (as well as SQL). The big win with LINQ is having association properties automatically generated for all relationships (inferred from foreign key constraints), so you can access related rows without joining! LINQPad uses a custom high-performance scaffolding engine behind the scenes, and includes drivers for SQL Server, SQL Azure, Oracle, SQLite, PostgreSQL and MySQL.
When dumped, association properties appear as lazy hyperlinks that can be expanded just by clicking on them. You can walk your entire database interactively!
LINQPad’s Dump method is famous for its capacity to eat almost anything!
Tuned with numerous heuristics, it intelligently walks object graphs for the best possible output. It even turns lazy objects into hyperlinks and asynchronous values into placeholders whose content materializes in the future!
Images and bitmaps render as images and bitmaps, and types from Reactive Extensions and Dataflow fully animate.
Dump any WPF or Windows Forms object and it will actually render.
Call the .Chart extension method to output data as a chart, using LINQPad's inbuilt charting engine.
And when you need a traditional data grid or debugger watch window, it’s there, too.
With its support for advanced C# features such as async / await and unsafe, LINQPad is capable of serious rapid coding work.
Such as writing a neural network from scratch!
Import other queries or .cs files with the #load directive.
Reference project assemblies from your Visual Studio solution, and use LINQPad as an interactive test harness. Or use LINQPad to provide instant entry points into any part of your solution.
Use LINQPad for build scripts and to automate cloud management tasks. LINQPad includes an integrated password manager for securely storing API keys, and a MSAL/OAuth frontend for multifactor authentication that preserves tokens across executions.
Step through your code with a lightweight debugger, and move around quickly with symbol navigation, outlining and bookmarking.
LINQPad is also a great way to learn C#: it comes with all 1300 examples from the book, C# 12 in a Nutshell, as well as interactive samples from Jon Skeet's C# in Depth.
A .NET Swiss Army Knife
Ever needed to benchmark your code? Now you can do so with a single keypress! LINQPad uses the industrial-grade BenchmarkDotNet for accurate results, which it presents via a customizable graphic real-time visualizer. No more writing boilerplate setup code, and no more digging through text-based logs!
Need to write a regular expression? Press Ctrl+Shift+F1 and an interactive RegEx Evaluator will appear! This is actually implemented entirely as a LINQPad query that uses LINQPad's HTML controls. You can make changes to this query, or use it as as template for writing your own interactive queries.
Need to generate Excel files? LINQPad includes a custom high-speed Excel export engine that generates native .xlsx files with AutoFilter and Tables — in a single line of code. There are also options for creating multi-sheet workbooks and you can even populate a spreadsheet cell-by-cell:
LINQPad is Easy to Learn
LINQPad comes with an integrated tutorial/reference, comprising interactive sample queries. Browse through the tree or press Ctrl+F1 to search — you'll find a sample that demonstrates just about every feature and application of LINQPad.
Changelog
New Features: General
- There's a new option on the Script menu to Make Script Self-Contained. This selectively copies code and dependencies from My Extensions and any #load-ed scripts.
- In Settings > Security, there's a new security axis to warn before opening links with unrecognized schemes (on by default).
- Updates in SQL mode with SQL Server now show the number of rows affected.
- Autocompletion listings now wrap around when using the up/down-arrow keys on the first/last items.
- LINQPad's editor now includes a custom Level 3 Input Method Editor for East Asian languages.
- You can now specify arguments to pass to the main method in the Script Properties dialog. For scripts in C# Statements mode (and file-based .cs apps), this populates the implicit
argsvariable. - In the event of a critical startup failure, LINQPad now includes a fallback mechanism to check for and download updates.
New Features: AI
- Claude Code and Copilot can now access result data in the main output panel and DataGrid panels (with your permission).
- The Claude Code terminal now includes a custom scrolling engine for precise trackpad and touchscreen handling. You can revert to the old behavior in Settings > Claude Code.
- You can now enable a persistent auto-approve mode with Claude Code and Copilot, for non-destructive operations such as reading files and fetching web content.
- When accepting/rejecting AI diffs, there's a new context menu option for Keep Both.
- In the Copilot provider configuration dialog, you can now specify an alternative npm registry source for downloading/updating the CLI. This is necessary if the primary npm registry is blocked.
- The OpenRouter and OpenAI providers now use GPT Sol as the default model for chat and completion.
- The Copilot provider now uses GPT Sol as the default for chat when available.
Fixes
- When the official NuGet feed is disabled in LINQPad's Settings, LINQPad no longer uses it in any capacity.
- The document reloader is now robust to renames.
- On macOS, Copilot no longer makes repeated KeyChain requests after a request is denied.
- The DataGrid is now better at handling shift+arrow selection extensions following a mouse selection.
- The DataGrid is now more reliable in how it handles culture-sensitive date formatting and parsing.
- LINQPad now includes a workaround for a breaking change in the Windows WebView2 Chromium browser engine that can cause the mouse cursor to disappear.
- A #load-ed C# Statements script no longer fails to compile when a #region or #if block ends right before its type declarations.