LINQPad
Présentation
LINQPad est un outil de développement .NET pour exécuter et tester des requêtes LINQ avec les langages qui supportent LINQ à savoir SQL, VB 9, F# 1.1.8.1 ou C# 3. Il permet aussi d’interroger les bases de données en SQL et les sources de données comme OData ou les WCF data services.
Il existe aussi un forum d’utilisateurs de LINQPad http://forum.linqpad.net/
LINQPad existe en plusieurs versions disponibles sur ce lien https://www.linqpad.net/Purchase.aspx : Free, Pro, Developer et Premium. Dans l’ordre, chaque version offre plus de fonctionnalités que les précédentes . La version gratuite est basique et offre peu de fonctionnalités. Seule la version Premium offre un debugger avec la pile d'appels, threads, variables locales / fenêtres de surveillance et points d'arrêt. L’IntelliSense, elle, est disponible qu’à partir de la version Pro.
L’intérêt d'utiliser cet outil est de pouvoir tester et déboguer le code sans avoir besoin d'un IDE tel que Visual Studio.
LINQ, c’est quoi déjà ?
Pour rappel, LINQ (Language Integrated Query) est un ensemble de fonctionnalités telles que les lambdas, des méthodes d'extension, et compréhensions de requête qui permettent aux compilateurs de comprendre et de mettre en œuvre la logique de requête sur les collections en mémoire des objets.
Nous allons voir à travers les exemples, quelques requêtes LINQ.
Installation et fonctionnement
LINQPad est disponible sur www.linqpad.net
Une fois téléchargé et installé, on commence par créer notre première requête File → new Query (Ctrl + N).
Exemple 1 : C# Expression
Par défaut, C# expression est sélectionné. Dans l'onglet Samples, on trouve quelques exemples basiques prédéfinis tel que le fameux "Hello Word".
Exemple 2 : C# Statement
Dans la liste déroulante "Language", changer à C# Statement .
L'exemple suivant illustre une simple requête LINQ qui sélectionne les nombres impairs contenus dans un tableau.
La méthode extension "Dump()" nous permet d'écrire le résultat comme la méthode Console.WriteLine dans une application Console. Elle peut prendre en paramètre le texte à afficher avant le résultat. Afin de compiler le code cliquer sur Execute (F5).
Il est à noter que LINQPad nous offre aussi la possibilité de faire un export du résultat sous format Word, Html ou Excel avec et sans formatage.
Une autre façon d'écrire un code C# Statement et de commencer par écrire les scripts LINQPad en début de la page et ensuite écrire les classes et les méthodes nécessaires.
Attention, LINQPad exige de rajouter une accolade fermante juste après les Scripts et avant le bloc des classes et méthodes et de l'enlever dans la dernière classe ou méthode. C'est absurde mais c'est nécessaire pour que ça marche. L'exemple suivant illustre ça :
Exemple 3 : C# Program
On peut aussi transformer le code en un programme en passant de C# Statement à C# Program. LINQPad va encapsuler le code dans une méthode main() comme suit :
On peut rajouter des classes et des méthodes dans la même requête comme dans un programme classique :
Dans les onglets My Queries et My extensions, il est possible aussi de définir des classes et des méthodes qui seront accessibles par toutes les requêtes.
Nuget Package Manager
LINQPad nous offre aussi la possibilité d’ajouter des références et des packages Nuget, il possède un "Nuget Package Manager" intégré. Pour cela, appuyer sur la touche F4.
Le simple clique sur Add To Query va charger le package nuget dans le Local Package Cache qui est initialement vide et devient donc accessible pour toutes les requêtes.
Dans l'article suivant, nous allons voir d'autres exemples d'utilisation de LINQPad.
2 commentaires