Découvrir ASP.NET Core 1.0

Assurer la persistance du modèle

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Ajoutez, à votre projet, un accès à la base de données en constituant une couche de liaison de données par entités. Pour cela, reposez-vous sur la technologie d'accès aux données EntityFrameworkCore.
06:17

Transcription

Dans MVC il y a le V pour la vue, le C pour le contrôleur, mais il y a le M aussi, pour modèle. Et les modèles sont souvent dans la base de données. Alors, ici, justement, sur la partie gauche, nous visualisons une base de données. Cette base de donnée est constituée de tables. Une table Sortilège, une table Sorcier. La table Sortilège a un identifiant auto-incrémenté, un titre de type chaîne, une description de type chaîne, un entier pour le nombre de J'Aime qu'il y a sur ce sortilège, et une référence, une clé étrangère, vers l'entrée de la table Sorcier correspondante. Et dans la table Sorcier, donc, juste un identifiant et un nom. Pour avoir une vision plus concrète, on va afficher les données de cette table. Donc, Merlin et Cercé sont les deux sorciers enregistrés dans notre base. Et ici on retrouve donc les trois sorts que l'on avait, et leur description ici, avec des J'Aimes différents, et des auteurs aussi qui leur sont propres. Donc on va maintenant créer les modèles pour accéder à cette base de données. Alors, pour cela, on va, première chose, ajouter un dossier modèle. Et puis définir des classes Sorcier, et Sortilège. Il y a plusieurs façon de faire des modèles. On peut en effet avoir conçu ces modèles avant la base de données, mais la plupart du temps, on a une base de données soit contrainte, soit que l'on veut établir selon ses propres normes, et il est intéressant là de voir un mapping que l'on va faire et on va le voir sur certains points explicitement. Le terme « mapping », que je viens d'utiliser, est pour l'attachement et le lien qu'il y a entre nos classes et nos tables. Donc ce mapping relationnel c'est ce lien que l'on va définir. Alors, le Sortilège. On reprend un peu tous les concepts, et on rajoute quand-même un sorcier explicitement, c'est à dire une référence à l'objet Auteur en plus de ce Id. Et réciproquement dans la table Sorcier, on fait la même chose, et là on choisit d'avoir un nom qui correspond à la règle métier, ces propositions qu'a fait ce sorcier. mais qui n'a aucune réalité dans la base de données. Alors, maintenant, pour pouvoir accéder à ces données, et récupérer ces données depuis la base de données, il va nous falloir une nouvelle classe, qu'on va appeler DbContext Avant de créer cette classe, presque, il faut introduire le package quand-même de Entity Framework, puisqu'on l'a pas encore ajouté au projet. Alors, je viens d'ouvrir la console du gestionnaire de paquets NuGet, ici, n-u-g-e-t, et puis je vais pouvoir installer le package. Alors, je vais installer une version qui fonctionne et qui est compatible avec la version 1.01, qu'on a prise, d'ASP.NET Core, qui est dans sa version la plus récente là, au jour d'aujourd'hui. Donc le paquet est installé. Alors, je vais pouvoir donc écrire mon contexte. Voilà. Je vais l'appeler GrimoireContext Je vais le faire hérité de DbContext. Voilà. Et je reprends cette partie qui est en fait donc la liste des tables pour que je puisse y accéder facilement depuis toutes les parties de mon programme. J'enlève les using inutiles. Et puis, l'initialisation. Alors, cette initialisation va se faire dans le startup.cs et - configure services - donc depuis les services je vais pouvoir inclure et charger mon contexte. Donc ici, en précisant la chaîne de connexion. Alors, comment on obtient la chaîne de connexion ? Alors, je fais les using et puis on regarde ça. Voilà. Ici, ce use vient du Entity Framework. Alors. La chaîne de connexion, qui est là, s'obtient assez facilement en faisant les propriétés, ici, on reprend la chaîne qui apparait là dans les propriétés, cette partie-là. Donc on fait un copié et collé de cette partie-là. Et on a la chaîne de connexion pour charger notre contexte. Alors ici on a défini ce qui était vraiment le strict minimum pour pouvoir faire un lien avec une base de données. Mais il y a quand-même un lien entre nos deux tables, qui n'est pas forcément explicite et facile à déduire pour Entity Framework. En effet, normalement il lui faut AuthorId, et non pas IdAuteur. Donc il va falloir redéfinir une méthode qui est le OnModelCreating pour explicitement lui dire comment il doit gérer ce modèle. Alors, on va utiliser cette instruction en lui disant ici que notre sortilège ici a un auteur. Un seul, Has One. Mais que les sorciers, eux, ont plusieurs propositions, With Many. Que la clé étrangère est IdAuteur. Et que le nom de ma contrainte de clé étrangère dans ma base SQL Server est FK Sortileges Sorcier. C'est quelque chose qu'on a quand on regarde les informations de la base. Autre chose intéressante aussi que vous pouvez avoir à préciser c'est les nom de tables au dessus de vos tables si jamais ils diffèrent. Ici ce n'est pas le cas. Mais, typiquement, je pourrais avoir ici une table qui a un nom différent, et pareil pour sorcier. Donc c'est des choses que vous pouvez faire pour expliciter la liaison des données Ici ce n'était pas nécessaire. Alors, on a bien posé les bases du mapping entre notre base de données et notre application. Dans la prochaine vidéo, on va utiliser nos données dans les vues.

Découvrir ASP.NET Core 1.0

Prenez en main ASP.NET Core 1.0. Développez ainsi des applications web multiplateformes en C#, déployables sur Windows, Linux, Mac ainsi qu'en containers Dockers.

1h32 (20 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
ASP.NET Core ASP.NET Core 1
Spécial abonnés
Date de parution :1 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !