Partager via


Ajout d’un modèle (C#)

par Rick Anderson

Ce tutoriel vous apprend les principes de base de la création d’une application web MVC ASP.NET à l’aide de Microsoft Visual Web Developer 2010 Express Service Pack 1, qui est une version gratuite de Microsoft Visual Studio. Avant de commencer, vérifiez que vous avez installé les conditions préalables répertoriées ci-dessous. Vous pouvez les installer en cliquant sur le lien suivant : Web Platform Installer. Vous pouvez également installer individuellement les prérequis à l’aide des liens suivants :

Si vous utilisez Visual Studio 2010 au lieu de Visual Web Developer 2010, installez les prérequis en cliquant sur le lien suivant : Conditions préalables pour Visual Studio 2010.

Un projet Visual Web Developer avec du code source C# est disponible pour accompagner cette rubrique. Téléchargez la version C#. Si vous préférez Visual Basic, basculez vers la version Visual Basic de ce didacticiel.

Ajout d’un modèle

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 ASP.NET MVC.

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. Le code First vous permet de créer des objets de modèle en écrivant des classes simples. (Il s’agit également de classes POCO, à partir d’objets CLR simples. 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 Modèles, sélectionnez Ajouter, puis sélectionnez Classe.

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

Nommez la classe « Movie ».

CreateMovieClass

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 Movie classe pour représenter des 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 plus d’informations sur et DbSetpour plus d’informationsDbContext, consultez Améliorations de la productivité pour Entity Framework.

Pour pouvoir référencer DbContext et DbSetajouter l’instruction suivante using en haut du fichier :

using System.Data.Entity;

Le fichier Movie.cs complet est illustré ci-dessous.

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 Compact

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 à des enregistrements de base de données. Une question que vous pouvez poser, cependant, est 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 Web.config racine de l’application. (Pas le Fichier Web.config dans le dossier Views .) L’image ci-dessous montre les deux fichiers Web.config ; ouvrez le fichier Web.config en rouge.

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

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

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

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

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

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

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