• Aucun résultat trouvé

Travailler avec des données à l aide d Entity Framework

N/A
N/A
Protected

Academic year: 2022

Partager "Travailler avec des données à l aide d Entity Framework"

Copied!
5
0
0

Texte intégral

(1)

Le 10 octobre 2019 ASP.NET ENSAT 2019-2020 Génie Informatique 3ème année cycle ingénieur

Travailler avec des données à l’aide d’Entity Framework

Département Mathématiques & Informatique

Table des matières

Ouvrir le projet ... 2

Ajouter un modèle ... 2

Créer les pages pour gérer la bibliothèque de jeux ... 2

Tester ... 5

Référence ... 5

(2)

Ouvrir le projet

Si vous avez suivi ces vidéos, ouvrez le projet d’application web que vous avez créé dans la section précédente. Si vous commencez ici, créez un projet et choisissez Application web ASP.NET, puis Application web. Conservez les autres options par défaut.

Ajouter un modèle

La première chose à faire pour travailler avec des données dans une application ASP.NET Core est de décrire leur format. Nous appelons cela créer un modèle des différents aspects du problème à résoudre. Dans des applications réelles, il s’agirait d’ajouter une logique métier personnalisée à ces modèles pour leur imposer un certain comportement et automatiser les tâches. Dans cet exemple, nous allons créer un système simple de suivi de jeux de société. Il nous faut une classe qui représente un jeu et comprenne les propriétés à enregistrer sur ce jeu, comme le nombre de joueurs possibles. Cette classe se trouvera dans un nouveau dossier, nommé Models, créé à la racine du projet web.

C#Copier

public class Game {

public int Id { get; set; } public string Title { get; set; }

public int PublicationYear { get; set; } public int MinimumPlayers { get; set; } public int MaximumPlayers { get; set; } }

Créer les pages pour gérer la bibliothèque de jeux

Nous sommes maintenant prêts à créer les pages qui serviront à gérer notre bibliothèque de jeux. Si l’entreprise peut sembler colossale, elle est en fait extrêmement simple. Nous devons d’abord décider où devra se trouver cette fonctionnalité dans notre application. Ouvrez le dossier Pages dans le projet web et ajoutez-y un nouveau dossier. Appelez-le Games.

Maintenant, cliquez avec le bouton droit sur Games et choisissez Ajouter > Nouvel élément généré automatiquement. Choisissez Razor Pages avec l’option Entity Framework

(CRUD) . CRUD signifie « create, read, update, delete » pour « créer, lire, mettre à jour,

supprimer » ; ce modèle créera des pages pour chacune de ces opérations (y compris une page

« Tout lister » et une page « Afficher les détails d’un élément »).

(3)

Sélectionnez votre classe de modèle Game et utilisez l’icône « + » pour ajouter une nouvelle classe de contexte de données. Nommez-le AppDbContext. Laissez les autres options par défaut et cliquez sur Ajouter.

Les pages Razor Pages suivantes sont ajoutées à votre dossier Games :

Create.cshtml

Delete.cshtml

Details.cshtml

Edit.cshtml

Index.cshtml

(4)

L’opération de génération automatique a ajouté non seulement des pages au dossier Games, mais aussi du code à la classe Startup.cs. Dans la méthode ConfigureServices de cette classe, on constate ce code a été ajouté :

C#Copier

services.AddDbContext<AppDbContext>(options =>

options.UseSqlServer(Configuration.GetConnectionString("AppDbContext")));

La chaîne de connexion AppDbContext a également été ajoutée au fichier appsettings.json du projet.

Si vous exécutez l’application maintenant, il y a un risque d’échec, car aucune base de données n’a encore été créée. Vous pouvez configurer l’application de sorte qu’elle crée

automatiquement la base de données si nécessaire par ajout de code à Program.cs : C#Copier

public static void Main(string[] args) {

var host = CreateWebHostBuilder(args).Build();

using (var scope = host.Services.CreateScope()) {

var services = scope.ServiceProvider;

try {

var context = services.GetRequiredService<AppDbContext>();

context.Database.EnsureCreated();

}

catch (Exception ex) {

var logger = services.GetRequiredService<ILogger<Program>>();

logger.LogError(ex, "An error occurred creating the DB.");

(5)

host.Run();

}

Pour résoudre les noms de types dans le code précédent, ajoutez les instructions using suivantes à Program.cs à la fin du bloc existant d’instructions using :

C#Copier

using Microsoft.Extensions.DependencyInjection;

using WebApplication1.Models;

Veillez à utiliser votre nom de projet à la place de WebApplication1 dans votre code.

La majeure partie du code concerne simplement la gestion des erreurs et l’accès à EF Core AppDbContext avant l’exécution de l’application. La ligne importante

est context.Database.EnsureCreated(), qui crée la base de données si elle n’existe pas déjà. L’application est maintenant prête à s’exécuter.

Tester

Exécutez l’application et accédez à /Games dans la barre d’adresse. Une page comportant une liste vide apparaît. Cliquez sur Créer pour ajouter un nouveau Game à la collection. Remplissez le formulaire et cliquez sur Créer. Il devrait apparaître dans le mode Liste. Cliquez sur Détails pour voir les détails d’un enregistrement.

Ajoutez un autre enregistrement. Vous pouvez cliquer sur Modifier pour modifier les détails d’un enregistrement, ou sur Supprimer pour le supprimer (après confirmation dans une invite).

Référence

https://docs.microsoft.com/fr-fr/visualstudio/get-started/csharp/tutorial-aspnet-core-ef-step-03?view=vs-2019

Références

Documents relatifs

Quand un groupe pense avoir réussi à décoder une boîte noire, il peut s'en assurer en demandant au groupe qui l'a créée, le résultat que donnerait la boîte noire pour

À l’aide d’un jeu de fléchettes, vous allez découvrir comment on peut calculer l’aire d’une figure quelconqued. L’idée : On utilise un jeu de fléchettes dont

À l’aide d’un jeu de fléchettes, vous allez découvrir comment on peut calculer l’aire d’une figure quelconque.. L’idée : On utilise un jeu de fléchettes dont

Sur votre cahier, reproduisez le tableau ci-dessous et complétez-le en reportant les longueurs trouvées par les camarades de votre groupe.. Élève 1 Élève 2 Élève

Rassemblez toutes les feuilles du groupe que vous placerez les unes à côté des autres pour former un grand rectangle.. À partir de nouvelles feuilles A4, tracez, dans

Chaque élève du groupe doit donner les coordonnées de deux autres points (situés en dehors des hachures) qui ne représentent pas un triangle puis les placer en rouge sur le

Chaque élève du groupe doit donner les coordonnées de deux autres points (situés en dehors des hachures) qui ne représentent pas un triangle puis les placer en rouge sur le

Échangez les figures de votre groupe avec celles d'un autre groupe puis calculez l'aire des figures reçues en les décomposant en figures simples..