Cet article constitue la suite des exemples précédents (LINQPad partie 1 et LINQPad partie 2).
Dans les deux articles précédents, nous avons présenté LINQPad à travers des exemples. Dans cet article, nous allons vous montrer comment tester une librairie *.dll d'un projet Entity Framework avec LINQPad.
Afin de mieux comprendre notre exemple, nous allons d'abord commencer par créer une solution vide que l'on nomme "LINQPadTestApplication" et un simple projet nommé "Entities" dans Visual Studio de type Class Librairy :
J'ai choisi de mettre en place un modèle de données simple afin d'avoir quelques exemples de test pour les requêtes LINQ :
Je crée dans le répertoire Models les classes correspondant à chaque entité ainsi que le contexte de données EntityContext dans le répertoire Contexts. Il ne faut pas oublier de rajouter au projet les références suivantes : EntityFramework, EntityFramework.SqlServer et System.ComponentModel.DataAnnotations.
Catégorie
Marque :
Produit :
EntityContext :
App.config :
Le fichier de configuration de l'application Web.config ou App.config selon s'il s'agit d'une application ASP.NET ou Windows, doit contenir la chaîne de connexion qu'on déclare dans la section connectionString de l'élément Configuration :
Une fois le projet compilé, on récupère la librairie Entities.dll pour l'ajouter plus tard via LINQPad.
Côté SGBD, je crée dans SQL Server une base de donnée vide que j'appelle MyDatabase :
Ensuite, dans LINQPad, nous choisissons le contexte de données Entity Framework comme suit :
Maintenant que notre connexion est ajoutée dans LINQPad, nous allons profiter pour peupler la base de données avec des données. Nous allons ajouter des Catégories et des Marques :
Nous pouvons vérifier l'ajout de ces données via une requête LINQ simple :
Ensuite, nous allons insérer dans la base de données des Produits afin de construire un panier :
Pareil, nous allons maintenant récupérer tous les Produits de la base de données avec le lien entre leur Catégorie et leur Marque, LINQPad récupère non seulement les clés étrangères CategorieId et MarqueId mais aussi les entités correspondantes : Categorie et Marque comme ceci :
Supposons que nous avons déjà dans un projet Business une classe ProduitService.cs et des méthodes par exemple comme GetArticlesPanier() et GetTotalPanier() et que vous voulez les tester alors vous pouvez importer votre projet qui contient le DataContext et ensuite écrire vos requêtes LINQ comme nous l'avons montré dans les articles précédents. Voici un exemple de requête :
LINQPad est un outil très efficace qui peut faire gagner beaucoup de temps si on l’utilise en parallèle avec Visual Studio pour tester les requêtes LINQ, Le debugger est très appréciable aussi en version Premium.