Procédure pas à pas : création d'un nouveau site Web Dynamic Data à l'aide de la génération de modèles automatique
Mise à jour : novembre 2007
Cette procédure pas à pas montre comment créer une application Web de base qui utilise Dynamic Data ASP.NET. Dynamic Data vous permet de créer un site Web piloté par les données avec très peu, voire pas de code supplémentaire. L'une des fonctionnalités importantes de Dynamic Data concerne le mécanisme de génération de modèles automatique. Lorsque ce mécanisme est activé dans un site Web Dynamic Data, ASP.NET analyse votre modèle de données et génère dynamiquement des pages Web pour chaque table. Ces pages Web générées automatiquement fournissent des fonctions d'affichage, d'insertion, de suppression et de modification pour chaque table.
Dans cette procédure pas à pas, vous génèrerez une application qui affiche des pages de données de l'exemple de base de données AdventureWorks.
Visionner une vidéo qui présente cette fonctionnalité.
Composants requis
Pour exécuter cette procédure pas à pas, vous auvez besoin de :
Microsoft Visual Studio 2008 Service Pack 1 ou Visual Web Developer 2008 Express Service Pack 1.
Exemple de base de données AdventureWorks ou AdventureWorksLT. Pour plus d'informations sur le téléchargement et l'installation de l'exemple de base de données SQL Server, consultez Exemples de produits Microsoft SQL Server : Base de données (en anglais) sur le site CodePlex. Prenez soin d'installer la version appropriée de l'exemple de base de données pour la version de SQL Server que vous exécutez (Microsoft SQL Server 2005 ou Microsoft SQL Server 2008).
Création d'un site Web Dynamic Data
Vous pouvez créer des sites Web Dynamic Data dans Visual Studio en utilisant un modèle de site Web.
Pour créer un site Web Dynamic Data
Démarrez Visual Studio ou Visual Web Developer.
Dans le menu Fichier, cliquez sur Nouveau site Web. Ou si vous ne disposez pas de cette option, cliquez sur Nouveau, puis sur Site Web.
La boîte de dialogue Nouveau site Web s'affiche.
Sous Modèles Visual Studio installés, sélectionnez Site Web Dynamic Data (pour utiliser LINQ to SQL) ou Site Web d'entités Dynamic Data (pour utiliser ADO.NET Entity Framework).
Dans la première zone Emplacement, sélectionnez Système de fichiers ; dans la deuxième, entrez le nom du dossier dans lequel vous souhaitez conserver les pages du site Web.
Par exemple, entrez le nom de dossier C:\WebSites\DynamicData.
Dans la liste Langage, cliquez sur le langage de programmation que vous préférez utiliser.
Cliquez sur OK.
Visual Studio crée le dossier et la structure du site Web.
Ajout des données au site Web
L'étape suivante consiste à ajouter une base de données au projet. Pour ce faire, créez des classes pour représenter les entités de base de données en utilisant un outil fourni par Visual Studio, puis enregistrez le contexte de données pour une utilisation par Dynamic Data. Selon le modèle que vous avez sélectionné, choisissez l'une des méthodes suivantes pour créer le modèle de base de données :
Si vous avez créé le site Web à l'aide du modèle Site Web Dynamic Données, vous devez créer le modèle de base de données à l'aide de LINQ to SQL.
Si vous avez créé le site Web à l'aide du modèle Site Web d'entités Dynamic Data, vous devez créer le modèle de base de données à l'aide d'Entity Framework.
Pour plus d'informations sur la sélection du modèle de données, consultez Instructions relatives à Dynamic Data ASP.NET.
Pour ajouter le fichier de base de données au projet
Si le site Web ne possède pas de dossier App_Data, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Ajouter le dossier ASP.NET et enfin sur App_Data.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier App_Data, puis cliquez sur Ajouter un élément existant.
La boîte de dialogue Ajouter un élément existant s'affiche.
Indiquez l'emplacement dans lequel vous avez installé le fichier de base de données AdventureWorks (AdventureWorks_Data.mdf).
Par défaut, l'emplacement où est installé le fichier .mdf est accessible par le chemin suivant : C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf.
Remarque : Cette procédure crée une copie du fichier de base de données dans le projet. Si la copie de la base de données paraît irréalisable, vous pouvez vous connecter à cette dernière en utilisant une autre méthode, par exemple en joignant le fichier de base de données directement. Toutefois, cette méthode n'est pas développée dans notre procédure pas à pas.
L'étape suivante consiste à créer le modèle de données. La procédure diffère légèrement selon que vous souhaitez utiliser LINQ to SQL ou ADO.NET Entity Framework pour créer le modèle de données.
Pour créer le modèle de données à l'aide de LINQ to SQL
Si le site Web ne possède pas déjà un dossier App_Code, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet, cliquez sur Ajouter le dossier ASP.NET, puis cliquez sur App_Code.
Cliquez avec le bouton droit sur le dossier App_Code, puis cliquez sur Ajouter un nouvel élément.
Sous Modèles Visual Studio installés, cliquez sur Classes LINQ to SQL.
Dans la zone Nom, entrez le nom du modèle de base de données.
Par exemple, entrez le nom AdventureWorks.dbml.
Cliquez sur Ajouter.
Le Concepteur Objet/Relationnel s'affiche.
Dans le Concepteur O/R, cliquez sur le lien Explorateur de serveurs (Explorateur de bases de données dans Visual Web Developer).
Dans Explorateur de serveurs (Explorateur de bases de données), sous Connexions de données, développez le nœud du fichier de base de données, puis le nœud Tables.
Faites glisser toutes les tables dans le Concepteur O/R.
Chaque table est représentée comme une entité qui est nommée pour la table de base de données correspondante.
Enregistrez le fichier AdventureWorks.dbml.
Dans l'Explorateur de solutions, ouvrez le fichier AdventureWorks.designer.cs ou AdventureWorks.designer.vb situé sous le nœud du fichier .dbml.
Notez que le fichier .dbml contient la classe AdventureWorksDataContext qui représente la base de données. Il contient également des classes d'entité, telles que Product et Employee, qui représentent des tables de base de données. Le constructeur sans paramètre pour la classe AdventureWorksDataContext lit la chaîne de connexion du fichier Web.config.
Ouvrez le fichier Web.config.
Notez que l'élément connectionStrings contient la chaîne de connexion à la base de données AdventureWorks.
Fermez le fichier de classe et le fichier Web.config.
Pour créer le modèle de données pour Entity Framework
Si le site Web ne possède pas déjà un dossier App_Code, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet, cliquez sur Ajouter le dossier ASP.NET, puis cliquez sur App_Code.
Cliquez avec le bouton droit sur le dossier App_Code, puis cliquez sur Ajouter un nouvel élément.
Sous Modèles Visual Studio installés, cliquez sur Entity Data Model ADO.NET.
Dans la zone Nom, entrez le nom du modèle de base de données.
Par exemple, entrez le nom AdventureWorks.edmx.
Cliquez sur Ajouter.
La fenêtre Assistant EDM s'affiche.
Cliquez sur Générer à partir de la base de données.
Cela spécifie que vous souhaitez générer le modèle à partir d'une base de données.
Sous Quelle connexion de données votre application doit-elle utiliser pour établir une connexion à la base de données ?, sélectionnez AdventureWorks_Data.mdf dans la liste.
Assurez-vous que la case à cocher Enregistrer les paramètres de connexion de l'entité dans Web.config en tant que est activée. Vous pouvez laisser le nom de chaîne de connexion par défaut.
Cliquez sur Suivant.
L'Assistant affiche une page vous permettant de spécifier les objets de base de données à inclure dans votre modèle.
Sélectionnez le nœud Tables pour sélectionner toutes les tables de la base de données. Vous pouvez laisser l'espace de noms du modèle par défaut.
Cliquez sur Terminer.
ADO.NET Entity Data Model Designer s'affiche. Fermez le concepteur.
Dans l'Explorateur de solutions, ouvrez le fichier AdventureWorks.designer.cs ou AdventureWorks.designer.vb situé sous le nœud du fichier .edmx.
Notez que le fichier .edmx contient la classe AdventureWorksDataContext qui représente la base de données. Il contient également des classes d'entité, telles que Product et Employee, qui représentent des tables de base de données.
Ouvrez le fichier Web.config.
Notez que l'élément connectionStrings contient la chaîne de connexion à la base de données AdventureWorks.
Fermez le fichier de classe et le fichier Web.config.
L'étape suivante consiste à enregistrer le modèle de données pour une utilisation par Dynamic Data.
Pour enregistrer le contexte de données
Ouvrez le fichier Global.asax.
Si vous utilisez LINQ to SQL, dans la méthode RegisterRoutes, ajoutez la ligne suivante :
model.RegisterContext(GetType(AdventureWorksDataContext), _ New ContextConfiguration() With {.ScaffoldAllTables = True})
model.RegisterContext(typeof(AdventureWorksDataContext), new ContextConfiguration() { ScaffoldAllTables = true });
Cela permet d'enregistrer le contexte de données LINQ to SQL pour une utilisation par Dynamic Data et d'activer la génération de modèles automatique du modèle de données.
Attention : L'activation de la génération de modèles automatique peut constituer un risque pour la sécurité car vous exposez toutes les tables dans le modèle de données pour les opérations d'affichage et de modification. Pour plus d'informations, consultez Vue d'ensemble des modèles de pages et de la génération de modèles automatique Dynamic Data ASP.NET.
Si vous utilisez Entity Framework, dans la méthode RegisterRoutes, ajoutez la ligne suivante :
model.RegisterContext(GetType(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), _ New ContextConfiguration() With {.ScaffoldAllTables = True})
model.RegisterContext(typeof(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), new ContextConfiguration() { ScaffoldAllTables = true });
Cela permet d'enregistrer le contexte de données Entity Framework pour une utilisation par Dynamic Data et d'activer la génération de modèles automatique du modèle de données.
Attention : L'activation de la génération de modèles automatique peut constituer un risque pour la sécurité car vous exposez toutes les tables dans le modèle de données pour les opérations d'affichage et de modification. Pour plus d'informations, consultez Vue d'ensemble des modèles de pages et de la génération de modèles automatique Dynamic Data ASP.NET.
Enregistrez et fermez le fichier Global.asax.
Test du site Web Dynamic Data
Vous pouvez maintenant tester le site Web Dynamic Data que vous venez de créer.
Pour tester le site Web
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la page Default.aspx, puis cliquez sur Afficher dans le navigateur.
La page affiche une liste qui contient les tables que vous avez ajoutées au modèle de données.
Cliquez sur l'une des tables. Par exemple, cliquez sur la table Products.
Une page s'affiche et contient les données de la table que vous avez sélectionnée. Notez que pour les tables qui contiennent des champs de clé étrangère, un lien est fourni vers la page de détails de la table référencée. S'il s'agit d'une table parente dans une relation un-à-plusieurs, un lien est fourni vers la page de liste de la table enfant.
Cliquez sur le bouton Supprimer pour supprimer un enregistrement de la table.
Cliquez sur les numéros de page pour parcourir les enregistrements.
Cliquez sur le bouton Modifier pour modifier un enregistrement dans la table.
Modifiez les valeurs puis cliquez sur Mettre à jour ou sur Annuler pour annuler la modification.
Au bas de la page, cliquez sur le bouton Insérer un nouvel élément pour créer un enregistrement.
Une page s'affiche et contient des champs de saisie.
Entrez les informations sur le nouvel enregistrement, puis cliquez sur Insérer ou sur Annuler pour annuler l'opération d'insertion.
Lorsque vous avez terminé, fermez le navigateur.
Étapes suivantes
Cette procédure pas à pas explique comment créer un site Web Dynamic Data de base sans écrire de code. À ce stade, vous pouvez commencer à explorer les fonctionnalités Dynamic Data et à étendre le comportement par défaut de Dynamic Data.
Pour plus d'informations sur l'extension de la validation de données intégrée ou sur la personnalisation du rendu par défaut, consultez Vue d'ensemble des modèles de données Dynamic Data ASP.NET.
Pour plus d'informations sur l'ajout d'un comportement dynamique aux contrôles existants, consultez Ajout d'un comportement dynamique à des contrôles liés aux données ASP.NET.
Pour plus d'informations sur la modification du comportement de génération de modèles automatique par défaut, consultez Vue d'ensemble des modèles de pages et de la génération de modèles automatique Dynamic Data ASP.NET.
Voir aussi
Concepts
Vue d'ensemble de Dynamic Data ASP.NET