Partager via


Ajout d’un modèle (2012)

par Rick Anderson

Notes

Une version mise à jour de ce didacticiel est disponible ici, qui utilise ASP.NET MVC 5 et Visual Studio 2013. Il est plus sécurisé, beaucoup plus simple à suivre et présente davantage de fonctionnalités.

Dans cette section, vous allez ajouter des classes pour la gestion des films dans une base de données. Ces classes seront la partie « modèle » de l’application MVC ASP.NET.

Vous allez utiliser une technologie d’accès aux données .NET Framework appelée Entity Framework pour définir et utiliser ces classes de modèle. Entity Framework (souvent appelé EF) prend en charge un paradigme de développement appelé Code First. Code First vous permet de créer des objets de modèle en écrivant des classes simples. (Ces classes sont également connues sous le nom de classes POCO, à partir des « objets CLR simples anciens. ») Vous pouvez ensuite créer la base de données à la volée à partir de vos classes, ce qui permet un flux de travail de développement très propre et rapide.

Ajout de classes de modèle

Dans Explorateur de solutions, cliquez avec le bouton droit sur le dossier Models, sélectionnez Ajouter, puis Classe.

Capture d’écran montrant la fenêtre Explorateur de solutions. L’option Ajouter est sélectionnée dans le menu contextuel Modèles et La classe est sélectionnée dans le sous-menu.

Entrez le nom de la classe « Movie ».

Ajoutez les cinq propriétés suivantes à la Movie classe :

public class Movie 
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

Nous allons utiliser la classe pour représenter des Movie films dans une base de données. Chaque instance d’un Movie objet correspond à une ligne dans une table de base de données, et chaque propriété de la Movie classe est mappées à une colonne de la table.

Dans le même fichier, ajoutez la classe suivante MovieDBContext :

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

La MovieDBContext classe représente le contexte de base de données de film Entity Framework, qui gère l’extraction, le stockage et la mise à jour Movie des instances de classe dans une base de données. dérive MovieDBContext de la DbContext classe de base fournie par Entity Framework.

Pour pouvoir référencer DbContext et DbSet, vous devez ajouter l’instruction suivante using en haut du fichier :

using System.Data.Entity;

Le fichier Movie.cs complet est illustré ci-dessous. (Plusieurs instructions using qui ne sont pas nécessaires ont été supprimées.)

using System;
using System.Data.Entity;

namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }        
        public DateTime ReleaseDate { get; set; }        
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

Création d’une chaîne de connexion et utilisation de SQL Server LocalDB

La MovieDBContext classe que vous avez créée gère la tâche de connexion à la base de données et de mappage Movie d’objets aux enregistrements de base de données. Une question que vous pouvez vous poser, cependant, est de savoir comment spécifier la base de données à laquelle il se connectera. Pour ce faire, ajoutez des informations de connexion dans le fichier Web.config de l’application.

Ouvrez le fichier deWeb.configracine de l’application . (Pas le fichier Web.config dans le dossier Views .) Ouvrez le fichier Web.config en rouge.

Capture d’écran montrant la fenêtre Explorateur de solutions. La configuration de point web est cerclée en rouge.

Ajoutez la chaîne de connexion suivante à l’élément <connectionStrings> dans le fichier Web.config .

<add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" 
/>

L’exemple suivant montre une partie du fichier Web.config avec la nouvelle chaîne de connexion ajoutée :

<connectionStrings>
  <add name="DefaultConnection" 
       connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
       providerName="System.Data.SqlClient" 
  />    
  <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
  /> 
</connectionStrings>

Cette petite quantité de code et de XML est tout ce que vous devez écrire pour représenter et stocker les données de film dans une base de données.

Ensuite, vous allez créer une nouvelle MoviesController classe que vous pouvez utiliser pour afficher les données du film et permettre aux utilisateurs de créer des descriptions de films.