-
Notifications
You must be signed in to change notification settings - Fork 9
Étape 2 Modèle et persistance
Dans cette partie, nous allons renseigner un modèle de données pour notre application et générer notre base de données automatiquement à l'aide d'Entity Framework.
Avant de commencer cette partie, nous avons de créer une base de données SQL Server. Nous vous recommandons d'utiliser Azure SQL Database, vous pouvez créer une base de données en suivant ce lien : Annexe 1 - Créer une base de données SQL à l'aide d'Azure
- La première étape consiste à installer Entity Framework pour notre application :
- À partir du menu de Visual Studio, sélectionner Project >
Manage NuGet Packages
- Cliquez sur
Browse
- Pour installer ou mettre à jour le fournisseur SQL Server, sélectionnez le paquet
Microsoft.EntityFrameworkCore.SqlServer
, et confirmer.
- Dans notre projet, ajoutez une classe appelée
Recipe
dans le dossierModels
.
- Remplissez le fichier avec :
using System.ComponentModel.DataAnnotations;
namespace Mic.CookBook.Web.Models
{
public class Recipe
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public string Details { get; set; }
public string Image { get; set; }
public string Category { get; set; }
public long Population { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
}
}
- Ajoutez un dossier appelé
Database
à la racine de votre projet, et créez une nouvelle classe appeléeCookBookContext
. Ajoutez alors le script suivant pour contextualisé votre base de données:
using Mic.CookBook.Web.Models;
using Microsoft.EntityFrameworkCore;
namespace Mic.CookBook.Web.Database
{
public class CookBookContext : DbContext
{
public CookBookContext(DbContextOptions<CookBookContext> options) : base(options) { }
public DbSet<Recipe> Recipes { get; set; }
}
}
- Ouvrez le fichier
startup.cs
à la racine de votre projet pour y ajouter les lignes suivantes :
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
var connectionString = @"Server=tcp:mic-cookbook.database.windows.net,1433;Initial Catalog=demo;Persist Security Info=False;User ID=aclerbois;Password=**********;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;";
services.AddDbContext<CookBookContext>
(options => options.UseSqlServer(connection));
}
Ajoutez les namespaces suivant dans le haut du fichier:
using Microsoft.EntityFrameworkCore;
using Mic.CookBook.Web.Database;
Afin de créer la base de données, nous avons besoin d'installer un paquet nuget supplémentaire
Microsoft.EntityFrameworkCore.Tools
.
- Ouvrez le menu
Console du gestionnaire de package
. Entrez les commandes suivantes.
Add-Migration InitialCreate
Update-Database
La commande
Add-Migration
échafaude une migration pour créer l'ensemble initial de tables pour le modèle. La commandeUpdate-Database
crée la base de données et y applique la nouvelle migration.