TP3 : Ajout d'un modèle. Ajouter des Classes de modèle. 1- L approche Code First



Documents pareils
Déployer une application Web avec WebMatrix et Ma Plateforme Web

PROJET AZURE (par Florent Picard, A2011)

Modélisation et Gestion des bases de données avec mysql workbench

Guide de mise à jour BiBOARD

La double authentification dans SharePoint 2007

Création et Gestion des tables

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Guide d installation BiBOARD

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server


1/ Présentation de SQL Server :

Déploiement d'une base SQL Express

Guide de migration BiBOARD V10 -> v11

Corrigé de l'atelier pratique du module 6 : Transfert de données

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Windows Server 2008 R2

NAS 206 Utiliser le NAS avec Windows Active Directory

Interagir avec le SharePoint. Version 1.0

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

Installation et configuration du logiciel BauBit

SQL Data Export for PS/PSS

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Introduction à Eclipse

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

GPI Gestion pédagogique intégrée

WorkflowGen 6.0 Guide de mise à jour

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Cliquez sur le site que vous souhaitez consulter, il s affichera directement dans le navigateur.

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Data Tier Application avec SQL Server 2008 R2

Procédure d installation :

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Comment se connecter au VPN ECE sous vista

Créer un rapport pour Reporting Services

Introduction par l'exemple à Entity Framework 5 Code First

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

SQL Server Installation Center et SQL Server Management Studio

Gestion des documents avec ALFRESCO

Installation FollowMe Q server

Sauvegarde d'une base de données SQL Server Express 2005

< Atelier 1 /> Démarrer une application web

Tutorial sur SQL Server 2000

Business Sharepoint Contenu

Sql Server 2005 Reporting Services

WebParts. Version 1.0

Etude de cas : PGE JEE V2

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

BIRT (Business Intelligence and Reporting Tools)

Encryptions, compression et partitionnement des données

Télécharger et Installer OpenOffice.org sous Windows

Guide de déploiement

Guide SQL Server 2008 pour HYSAS

Sauvegarde des bases SQL Express

Formateur : Caroline CHAILLET Cours 4740A - Implémentation d'une base de données Microsoft SQL Server /134

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Ces Lettres d informations sont envoyées aux extranautes inscrits et abonnés sur le site assistance (voir point N 3).

Rapports d activités et financiers par Internet. Manuel Utilisateur

DOCUMENT D ACCOMPAGNEMENT POUR L INSTALLATION DU LOGICIEL ESTIMACTION

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Le langage C. Séance n 4

Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012

Procédure d'installation complète de Click&Decide sur un serveur

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès

Utiliser le portail d accès distant Pour les personnels de l université LYON1

CONTACT EXPRESS 2011 ASPIRATEUR D S

Microsoft Application Center Test

Mise en place du Module Magento ShoppingFlux

L accès à distance du serveur

La base de données dans ArtemiS SUITE

Olivier Mondet

FTP / WebDeploy /WebDAV. Manuel

@telier d'initiation

LES ACCES ODBC AVEC LE SYSTEME SAS

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Préconisations Techniques & Installation de Gestimum ERP

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Sécurisation des accès au CRM avec un certificat client générique

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Groupe Eyrolles, 2003, ISBN : X

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

Manuel BlueFolder ADMINISTRATION

Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»).

Quels sont les espaces disponibles sur l ordinateur pour stocker ses documents et comment accéder facilement au dossier «My Documents»?

AFTEC SIO 2. Christophe BOUTHIER Page 1

Volet de visualisation

Transcription:

TP3 : Ajout d'un modèle 1- L approche Code First Dans cette section, vous ajouterez quelques classes pour gérer les films dans une base de données. Ces classes vont constituer la partie «modèle» de l'application ASP.NET MVC. Vous allez utiliser la technologie d'accès aux données de.net Framework appelée l' Entity Framework pour définir et travailler avec ces classes du modèle. Entity Framework (souvent dénommé "EF") prend en charge un modèle de développement appelé Code First. Code First vous permet de créer des objets de modèle en écrivant des classes simples. Ajouter des Classes de modèle Dans l' Explorateur de solutions, faites un clic droit sur le dossier des modèles, sélectionnez Ajouter et puis sélectionnez classe.

Entrez le nom de classe "Movie". Ajoutez les cinq propriétés suivantes à la classe de Movie : using System; 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; } } } Nous allons utiliser la classe Movie pour représenter des films dans une base de données. Chaque instance d'un objet Movie correspondra à une ligne d'une table de base de données, et chaque propriété de la classe de Movie sera mappé à une colonne dans la table.

Dans le même fichier, ajoutez la classe MovieDBContext suivante : 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; } } } La classe MovieDBContext représente l Entity Framework du contexte de base de données «Movie», qui gère la récupération, le stockage et la mise à jour des instances de la classe du Movie dans une base de données. La MovieDBContext dérive de la classe de base de DbContext fournie par Entity Framework. Afin d'être en mesure de référencer les DbContext et DbSet, vous devez ajouter l'instruction using suivante en haut du fichier : using System.Data.Entity; Vous pouvez le faire en ajoutant manuellement à l'aide de l'instruction, ou vous pouvez faites un clic droit sur les lignes ondulées rouges et cliquez sur résoudre et puis cliquez using System.Data.Entity.

Remarque : Les instructions inutilisées de using peuvent être supprimées. Vous pouvez pour cela faire un clic droit dans le fichier, cliquez sur Organiser les instructions using et puis cliquez sur Remove unused Using Nous avons donc ajouté un modèle (le M dans MVC). Dans la section suivante, vous travaillerez avec la chaîne de connexion de base de données.

Création d'une chaîne de connexion et de travailler avec SQL Server LocalDB La classe MovieDBContext, que vous avez créé gère la tâche de se connecter à la base de données et de mapping des objets Movie aux enregistrements de la base de données. Vous n'avez pas réellement à spécifier quelle base de données à utiliser car l Entity Framework utilise par défaut LocalDB. Dans cette section, nous allons ajouter explicitement une chaîne de connexion dans le fichier Web.config de l'application. SQL Server Express LocalDB LocalDB est une version allégée du moteur de SQL Server Express Database qui se lance à la demande et s'exécute en mode utilisateur. LocalDB s'exécute dans un mode spécial d'exécution de SQL Server Express qui vous permet de travailler avec des bases de données sous forme de fichiers.mdf. En général, les fichiers de base de données LocalDB sont conservés dans le dossier App_Data, d'un projet web. SQL Server Express n'est pas recommandé pour une utilisation dans les applications web de production. LocalDB en particulier ne devrait pas servir à la production avec une application web parce qu'il n'est pas conçu pour fonctionner avec IIS. Cependant, une base de données LocalDB peut être facilement migrée vers SQL Server ou SQL Azure.Dans Visual Studio 2013 (et en 2012), LocalDB est installé par défaut avec Visual Studio. Par défaut, Entity Framework recherche une chaîne de connexion, le même nom que la classe de contexte de l'objet (MovieDBContext pour ce projet). Ouvrez le fichier racine Web.config application ci-dessous. (Pas le fichier Web.config dans le dossier vues.)

Trouver l'élément <connectionstrings> :

Ajoutez la chaîne de connexion suivante à l'élément <connectionstrings> dans le fichier Web.config. <add name="moviedbcontext" connectionstring="datasource=(localdb)\v11.0;attachdbfilename= DataDirectory \Movies.mdf;In tegrated Security=True" providername="system.data.sqlclient" /> L'exemple suivant montre une partie du fichier Web.config avec la nouvelle chaîne de connexion a ajouté : <connectionstrings> <add name="defaultconnection" connectionstring="data Source=(LocalDb)\v11.0;AttachDbFilename= DataDirectory \aspnet-mvcmovie- 20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;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" /> Les deux chaînes de connexion sont très similaires. La première chaîne de connexion nommée DefaultConnection et est utilisée pour la base de données «Membership» pour contrôler qui peut accéder à l'application. Vous avez ajouté la chaîne de connexion spécifique à une base de données LocalDB nommé Movie.mdf situé dans le dossier App_Data.

Le nom de la chaîne de connexion doit correspondre au nom de la classe DbContext. 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; } } Si vous ne spécifiez aucune chaîne de connexion, l Entity Framework créera une base de données LocalDB dans le répertoire utilisateurs avec le nom qualifié complet de la classe de DbContext (dans ce cas MvcMovie.Models.MovieDBContext). Vous pouvez nommer la base de données, aussi longtemps qu'elle a le suffixe.mdf. Par exemple, nous pourrions nommer la base de données MyFilms.mdf. 2- L approche Database First 1. Créer une base de données Nous allons créer en premier lieu une nouvelle base de données. Allons-y et générons la base de données. Ouvrez Visual Studio Affichage -> Explorateur de serveurs Cliquez avec le bouton droit sur connexions de données-> Ajouter une connexion...

Si vous n'avez pas connecté l'explorateur de serveurs à une base de données avant, vous devrez sélectionner Microsoft SQL Server comme source de données Se connecter à SQL Express LocalDb ((localdb) \v11.0) et donnez DatabaseFirst.Blogging comme nom de base de données

Choisissez OK et il vous demandera si vous voulez créer une nouvelle base de données, sélectionnez Oui

La nouvelle base de données apparaît dans l'explorateur de serveurs, faites un clic droit dessus et sélectionnez Nouvelle requête Copiez le code SQL suivant dans la nouvelle requête, puis faites un clic droit sur la requête et sélectionnez Execute 1. CREATE TABLE [dbo].[blogs] ( 2. [BlogId] INT IDENTITY (1, 1) NOT NULL, 3. [Name] NVARCHAR (200) NULL, 4. [Url] NVARCHAR (200) NULL, 5. CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC) 6. ); 7. 8. CREATE TABLE [dbo].[posts] ( 9. [PostId] INT IDENTITY (1, 1) NOT NULL, 10. [Title] NVARCHAR (200) NULL, 11. [Content] NTEXT NULL, 12. [BlogId] INT NOT NULL, 13. CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC), 14. CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId]) REFER ENCES [dbo].[blogs] ([BlogId]) ON DELETE CASCADE 15. ); 2. Reverse Engineering Model Créer un nouveau projet MVC nommé «DBFirst MVC» qui utilise la base de données pour effectuer des accès aux données : Nous allons utiliser Entity Framework Designer, qui est inclus dans Visual Studio, pour créer notre modèle. App_Data -> ajoute un nouvel élément... Sélectionner des données dans le menu de gauche, puis sur ADO.NET Entity Data Model Entrez BloggingModel comme nom, puis cliquez sur OK Cela lance l' Assistant Entity Data Model

Sélectionnez générer à partir de base de données et cliquez sur suivant Sélectionnez la connexion à la base de données que vous avez créée dans la première section, saisissez BloggingContext comme nom de la chaîne de connexion et cliquez sur

suivant

Cochez la case à cocher de «Tables» pour importer toutes les tables et cliquez sur 'Terminer' Une fois terminé le processus de Reverse Engineering ajoute le nouveau modèle à votre projet et vous permet de le visualiser dans Entity Framework Designer. Un fichier App.config a également été ajouté à votre projet avec les détails de connexion pour la base de données.

Ensuite, nous devons générer du code à partir du modèle pour générer du code qui utilise l'api DbContext, qui a été introduite dans les versions ultérieures d'entity Framework. Faites un clic droit sur un endroit vide de votre modèle dans le concepteur de l'ef et sélectionnez Ajouter élément de génération de Code. Sélectionnez les Modèles en ligne dans le menu de gauche et de la recherche pour DbContext Sélectionnez l' EF 5.x DbContext générateur en VB, entrez BloggingModel comme nom et cliquez sur Ajouter

Deux nouveaux fichiers seront listés dans l Explorateur de solution, BloggingModel.Context.tt et BloggingModel.tt qui contiennent le code des classes générés comme indiqué, ci-après :