LINQPad avec Entity Framework (partie 3)

linqpad_with_EF_logoCet 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 :

Create_solution

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 :

Schema_model

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

Categorie

Marque :

Marque

Produit :

Produit

EntityContext :

Entity_context

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 :

App.config

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 :

MyDatabase_before

Ensuite, dans LINQPad, nous choisissons le contexte de données Entity Framework comme suit :

Choose_data_context

Create_EF_DBContext_Connection

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 :

SQL_insert1

Nous pouvons vérifier l'ajout de ces données via une requête LINQ simple :

SQL_Result_insert1

SQL_Result_insert11

Ensuite, nous allons insérer dans la base de données des Produits afin de construire un panier :

Insert_produits_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 :

Get_articles_panier

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 :

Exemple_query_articles

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.

Enregistrer

Enregistrer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.