Skip to content

Étape 2 Modèle et persistance

Adrien Clerbois edited this page Jan 26, 2019 · 14 revisions

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

  1. 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électionner le paquet Microsoft.EntityFrameworkCore.SqlServer, et confirmer.

Step  2 - 5

  1. Dans notre projet, ajoutez une classe appelée Recipe dans le dossier Models.

Step  2 - 6

Step  2 - 7

  1. Remplissez le fichier avec :
using System;
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 Uri Image { get; set; }

        public string Category { get; set; }

        public long Population { get; set; }

        public double Latitude { get; set; }

        public double Longitude { get; set; }
    }
}
  1. Ajoutez un dossier appelé Database à la racine de votre projet, et créez une nouvelle classe appelée CookBookContext. 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; }
    }
}
  1. 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 connection = @"Data Source=mic-cookbook.database.windows.net;Initial Catalog=demo;User ID=aclerbois;Password=******!;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            services.AddDbContext<CookBookContext>
                (options => options.UseSqlServer(connection));
        }

Ajoutez les namespaces suivant dans le haut du fichier:

using Microsoft.EntityFrameworkCore;
using Mic.CookBook.Web.Database;