Ajout d’un modèle (C#)
par Rick Anderson
Ce tutoriel vous apprend les bases de la création d’une application web ASP.NET MVC à 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 tous les installer en cliquant sur le lien suivant : Web Platform Installer. Vous pouvez également installer individuellement les prérequis à l’aide des liens suivants :
- Prérequis de Visual Studio Web Developer Express SP1
- ASP.NET mise à jour des outils MVC 3
- SQL Server Compact 4.0(prise en charge du runtime + outils)
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, passez à la version Visual Basic de ce tutoriel.
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 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.
Nommez 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 plus d’informations sur DbContext
et DbSet
, consultez Améliorations de la productivité pour 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.
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 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 .) L’image ci-dessous montre à la fois les fichiersWeb.config ; ouvrez le fichier Web.config cerclé en rouge.
Ajoutez la chaîne de connexion suivante à 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 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.