L’objectif de ce tutoriel (deuxième du module 6) est d’utiliser EntityFramework pour effectuer des requêtes sur une base de données. En introduisant une année et en cliquant sur un bouton, l’utilisateur affichera tous les films dont l’année est supérieure à l’année entrée.
L’objectif de cette étape est de créer la page permettant la recherche et l’affichage des résultats
- Lancez VS 2012
- Créez une application ASP.NET vide appelée « LinqToEntitiesTest »
- Ajoutez une forme web appelée « Default.aspx »
- Glissez un « Label » avec la propriété « Text » à « Année »
- Glissez un « TextBox » à droite du libellé avec la propriété « ID » à « txtSearch »
- Ajoutez un bouton à droite de la zone de texte avec la propriété « Text » à « Chercher » et « ID » à « btnSearch »
- A partir de l’onglet « Données », glissez un « GridView » en dessous des contrôles que vous venez d’ajouter
Etape 2 : Création du contexte EntityFramework
L’objectif de cette étape est de créer l’objet « Contexte » permettant de se connecter à la base de données de films.
- Dans l’explorateur de solutions, ajoutez un nouvel élément au projet « LinqToEntitiesTest »
- Dans les catégories à gauche, choisissez « Données »
- Dans le modèle, choisissez « Modèle Entité ADO.NET »
- Dans la zone « Nom » entrez « FormationModel »
- Cliquez sur le bouton « Ajouter »
- Visual Studio, demande si on doit générer le modèle à partir d’une base de données existante ou générer un nouveau modèle. Cliquez sur « Générer à partir d’une base de données » puis sur « Suivant »
- VS demande la chaîne de connexion à utiliser.
- Si la chaîne n’existe pas, cliquez sur « Nouvelle Connexion ».
- Dans la zone serveur entrez « . » ou « .\SQLExpress » selon la version de SQL server installée
- Dans la zone « base de données » sélectionnez la base de données « Formation »
- Cliquez sur « Tester la connexion » pour valider
- Cliquez sur « OK »
- Cliquez sur « Suivant »
- Dans le nœud « Tables », cochez la table « Formation »
- Cochez « pluraliser ou singulariser les entités générées »
- Cliquez sur « Terminer »
- VS 2012 génère automatiquement le modèle et l’ouvre en mode conception
- Remarquez que le modèle contient une seule entité « Film »
Etape 3 : Exécution de la requête en utilisant le contexte
L’objectif de cette étape est d’utiliser le contexte généré par Visual Studio dans la page web afin de chercher les films dont l’année est supérieure à l’année fournie.
- Ouvrez la page « Default.aspx » en mode conception
- Double-cliquez sur le bouton afin de générer l’évènement de clic
- Dans l’évènement généré, insérez le code suivant:
int numero = int.Parse(txtSearch.Text);
using (FormationEntities context = new FormationEntities())
{
var requete = from entite in context.Films
where entite.Annee > numero
select entite;
GridView1.DataSource = requete.ToList();
GridView1.DataBind();
}
- Appuyez sur « F5 » pour exécuter
- Examinez la requête « Linq » et sa syntaxte
var requete = from entite in context.Films
where entite.Annee > numero
select entite;
- Linq utilise une syntaxe proche du SQL pour permettre aux développeurs d’exécuter des requêtes sur des contextes qui sont traduites par EntityFramework en requêtes SQL
Pour télécharger le code, cliquez ici