Utiliser Migrations Code First pour amorcer la base de données
Dans cette section, vous allez utiliser Migrations Code First dans EF pour amorcer la base de données avec des données de test.
Dans le menu Outils , sélectionnez Gestionnaire de package NuGet, puis Console du Gestionnaire de package. Dans la fenêtre Console du Gestionnaire de package, entrez la commande suivante :
Enable-Migrations
Cette commande ajoute un dossier nommé Migrations à votre projet, ainsi qu’un fichier de code nommé Configuration.cs dans le dossier Migrations.
Ouvrez le fichier Configuration.cs. Ajoutez l’instruction using suivante.
using BookService.Models;
Ajoutez ensuite le code suivant à la méthode Configuration.Seed :
protected override void Seed(BookService.Models.BookServiceContext context)
{
context.Authors.AddOrUpdate(x => x.Id,
new Author() { Id = 1, Name = "Jane Austen" },
new Author() { Id = 2, Name = "Charles Dickens" },
new Author() { Id = 3, Name = "Miguel de Cervantes" }
);
context.Books.AddOrUpdate(x => x.Id,
new Book() { Id = 1, Title = "Pride and Prejudice", Year = 1813, AuthorId = 1,
Price = 9.99M, Genre = "Comedy of manners" },
new Book() { Id = 2, Title = "Northanger Abbey", Year = 1817, AuthorId = 1,
Price = 12.95M, Genre = "Gothic parody" },
new Book() { Id = 3, Title = "David Copperfield", Year = 1850, AuthorId = 2,
Price = 15, Genre = "Bildungsroman" },
new Book() { Id = 4, Title = "Don Quixote", Year = 1617, AuthorId = 3,
Price = 8.95M, Genre = "Picaresque" }
);
}
Dans la fenêtre Console du Gestionnaire de package, tapez les commandes suivantes :
Add-Migration Initial
Update-Database
La première commande génère le code qui crée la base de données, et la deuxième commande exécute ce code. La base de données est créée localement à l’aide de LocalDB.
Explorer l’API (facultatif)
Appuyez sur F5 pour exécuter l'application en mode débogage. Visual Studio démarre IIS Express et exécute votre application web. Visual Studio lance ensuite un navigateur et ouvre la page d’accueil de l’application.
Quand Visual Studio exécute un projet web, il attribue un numéro de port. Dans l’image ci-dessous, le numéro de port est 50524. Lorsque vous exécutez l’application, vous voyez un numéro de port différent.
La page d’accueil est implémentée à l’aide de ASP.NET MVC. En haut de la page, un lien indique « API ». Ce lien vous permet d’accéder à une page d’aide générée automatiquement pour l’API web. (Pour savoir comment cette page d’aide est générée et comment ajouter votre propre documentation à la page, consultez Création de pages d’aide pour API Web ASP.NET.) Vous pouvez cliquer sur les liens de la page d’aide pour afficher des détails sur l’API, notamment le format de demande et de réponse.
L’API active les opérations CRUD sur la base de données. Voici un résumé de l’API.
Auteurs | Description |
---|---|
API/auteurs GET | Obtenir tous les auteurs. |
GET api/authors/{id} | Obtenir un auteur par ID. |
POST /api/authors | Créez un auteur. |
PUT /api/authors/{id} | Mettre à jour un auteur existant. |
DELETE /api/authors/{id} | Supprimer un auteur. |
Livres | Description |
---|---|
GET /api/books | Obtenez tous les livres. |
GET /api/books/{id} | Obtenez un livre par ID. |
POST /api/books | Créez un livre. |
PUT /api/books/{id} | Mettre à jour un livre existant. |
DELETE /api/books/{id} | Supprimer un livre. |
Afficher la base de données (facultatif)
Lorsque vous avez exécuté la commande Update-Database, EF a créé la base de données et appelé la Seed
méthode . Lorsque vous exécutez l’application localement, EF utilise LocalDB. Vous pouvez afficher la base de données dans Visual Studio. Dans le menu Vue, sélectionnez Explorateur d’objets SQL Server.
Dans la boîte de dialogue Se connecter au serveur , dans la zone d’édition Nom du serveur , tapez « (localdb)\v11.0 ». Laissez l’option Authentification sur « Authentification Windows ». Cliquez sur Connexion.
Visual Studio se connecte à LocalDB et affiche vos bases de données existantes dans la fenêtre SQL Server Explorateur d'objets. Vous pouvez développer les nœuds pour afficher les tables créées par EF.
Pour afficher les données, cliquez avec le bouton droit sur une table et sélectionnez Afficher les données.
La capture d’écran suivante montre les résultats de la table Books. Notez qu’EF a rempli la base de données avec les données de départ et que la table contient la clé étrangère de la table Authors.