LINQPad é uma aplicação standalone gratuita, escrita por Joseph Albahari como um add-on para seu C# 3.0 in a Nutshell.
LINQPad é basicamente um interpretador LINQ com uma IDE e integração SQL em torno dele. LINQPad tem uma interface simples mas poderosa que permite a execução imediata de expressões LINQ, incluindo multi-statement trechos do LINQ to SQL, LINQ to Objects, e LINQ to XML.
LINQPad oferece diversos modos de execução:
- Expressão C# (ou VB) Uma única expressão C# ou VB.NET LINQ é executada, e o objeto resultante é exibido na janela de resultados.
- Declarações C# (ou VB) Um número arbitrário de expressões LINQ podem ser executadas. LINQPad tem um método de extensão Dump definido para enviar objetos e textos para a janela de resultados durante a execução.
- Programa C# (ou VB) O contexto de execução é colocado dentro de um método Main(), permitindo a definição de outras classes e métodos dentro do editor do LINQPad para suportar testes.
- SQL Fornece consultas de dados ad-hoc usando SQL.
É importante lembrar que LINQPad executará qualquer declarações de código C# (ou VB.NET), não apenas expressões LINQ. Isto significa que LINQPad é útil para qualquer trecho de código que precise de um teste simples, ex: strings de formato numérico delicado ou matching de expressões Regex.
LINQPad vem com inúmeros exemplos de expressões LINQ que mostram as peculiaridades e o poder do LINQ, com exemplos para iniciantes juntamente com conceitos mais avançados como execução e projeção diferida. LINQPad também tem uma característica importante de aprendizagem que apresenta várias opções para visualização dos resultados:
- Default results view Um simples gráfico de representação de objetos e texto retornado dos statements
- Lambda view Expressões LINQ traduzidas em expressões lambda, se aplicável
- SQL view Expressões LINQ traduzidas em SQL, se aplicável
- IL view Linguagem Intermediária da Microsoft gerada para statements de código
LINQPad oferece extensibilidade permitindo aos usuários referenciar pacotes customizados e importar namespaces customizados. LINQ to Entities pode ser suportado através desta extensibilidade.
Além de uma ferramenta de aprendizagem e teste, LINQPad está crescendo em popularidade como um utilitário para realizar consultas ad-hoc em um banco de dados SQL.
Output de resultados de uma expressão simples LINQ to SQL:
Output de lambdas de uma expressão simples LINQ to SQL:
Output de SQL de uma expressão simples LINQ to SQL:
LINQPad é grátis e realiza pode atualizar-se automaticamente. Intellisense já está disponível mas somente inclusa na versão comercial de $19. LINQPad não requer Visual Studio mas exige .NET Framework 3.5.