I remember when LINQ was the new hotness. When developers realized that they could stop writing `for` and `foreach` loops to farm data from collections. It was a magical time, full of unicorns and rainbows and such. In this midst of this bliss Joseph Albahari, author of the excellent C# in a Nutshell, released a small program called LINQPad that functioned as both a pseudo-C# LINQ REPL and a light-weight frontend to SQL Server (via LINQ2SQL). Using LINQPad was (and still is) a great way to explore the LINQ API without breaking actual production code.
Since those early days, LINQPad has grown to support all of the major LINQ technologies and other data providers, including:
- Entity Framework
- LINQ to XML
- Parallel LINQ
- WCF Data Services
- SQL Azure
- and many more!
In addition, LINQPad can also serve as an F# REPL, for those of the functional persuasion who would like more flexibility than FSI provides.
LINQPad is also extensible. When I worked with Josh Buedel, he created a plugin for LINQPad that queried an XML web service exposed by an online billing provider that we were using at the time. Using LINQPad, we could write LINQ queries against the service endpoints as if they were object collections, which made debugging service issues and generating ad hoc reports a breeze.
While LINQPad has always been free, users who wanted auto-completion, Reflector integration, smart tags, code snippets, etc. paid a premium fee for the Pro version of LINQPad. Mr. Albahari has generously donated two Pro licenses to STL ALT .NET, which will be raffled to members in the coming months. Two lucky winners will walk away with great software that no .NET developer should be without!