Procédure : utiliser un modèle défini dans une bibliothèque de classes (Entity Data Model Tools)
Cette rubrique décrit comment utiliser un modèle conceptuel qui a été défini dans un projet de bibliothèque de classes Visua Studio 2008.
La première procédure de cette rubrique montre comment utiliser un modèle conceptuel défini dans une bibliothèque de classes provenant de projets autres que des projets de site Web ASP.NET. La seconde procédure montre comment utiliser un modèle conceptuel défini dans une bibliothèque de classes provenant d'un projet de site Web ASP.NET.
Pour utiliser un modèle défini dans une bibliothèque de classes provenant de projets autres que des projets de site Web ASP.NET
Dans Visual Studio, créez un projet Bibliothèque de classes Visual C# ou Visual Basic.
Pour plus d'informations sur la création de projets dans Visual Studio, consultez Procédure : créer des solutions et des projets.
Ajoutez un modèle conceptuel au projet de bibliothèque de classes.
Pour plus d'informations sur la création d'un modèle conceptuel et l'ajout de celui-ci à un projet, consultez Procédure : créer un fichier .edmx (Entity Data Model Tools). Pour plus d'informations sur l'ajout d'un modèle conceptuel existant à un projet, consultez Procédure : ajouter un fichier .edmx existant (Entity Data Model Tools).
Ajoutez un nouveau projet qui n'est pas un projet de site Web ASP.NET à votre solution existante.
Pour plus d'informations sur l'ajout d'un projet à une solution existante, consultez Procédure : créer des solutions multiprojets.
Cliquez avec le bouton droit sur le projet nouvellement ajouté (et non sur le projet Bibliothèque de classes), puis sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Cliquez sur l'onglet Projets de la boîte de dialogue Ajouter une référence, puis sélectionnez votre projet Bibliothèque de classes. Cliquez sur OK.
Cliquez à nouveau avec le bouton droit sur le projet nouvellement ajouté (et non sur le projet Bibliothèque de classes), puis sélectionnez Ajouter une référence.
Cliquez sur l'onglet .NET de la boîte de dialogue Ajouter une référence, puis sélectionnez System.Data.Entity. Cliquez sur OK.
Ouvrez le fichier App.Config du projet Bibliothèque de classes.
Mettez en surbrillance la section relative à la chaîne de connexion du fichier App.Config, cliquez dessus avec le bouton droit, puis sélectionnez Copier. Par exemple, copiez le code qui ressemble à ceci :
<add name="SchoolEntities" connectionString="metadata=res://*/School.csdl| res://*/School.ssdl| res://*/School.msl; provider=System.Data.SqlClient; provider connection string=" Data Source=(local); Initial Catalog=School; Integrated Security=True; MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
Ouvrez le fichier App.Config du projet nouvellement ajouté, puis collez, dans le nœud
<connectionStrings>
, les informations de la chaîne de connexion copiées.Remarque : Si le projet n'a pas de fichier App.Config, vous pouvez en ajouter un en cliquant avec le bouton droit sur le projet dans l'Explorateur de solutions, en pointant sur Ajouter, puis en sélectionnant Nouvel élément.Choisissez Fichier de configuration de l'application dans la boîte de dialogue qui s'ouvre, puis cliquez sur OK.
Vous pouvez maintenant écrire du code dans le projet nouvellement ajouté qui utilisera le modèle conceptuel défini dans le projet de bibliothèque de classes.
Remarque : |
---|
Il peut être nécessaire de définir le projet nouvellement ajouté comme projet de démarrage avant de générer la solution.Pour cela, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions, puis sélectionnez Définir comme projet de démarrage. |
Pour utiliser un modèle défini dans une bibliothèque de classes provenant d'un projet de site Web ASP.NET
Dans Visual Studio, créez un projet de bibliothèque de classes Visual C# ou Visual Basic.
Pour plus d'informations sur la création de projets dans Visual Studio, consultez Procédure : créer des solutions et des projets.
Ajoutez un modèle conceptuel au projet de bibliothèque de classes.
Pour plus d'informations sur la création d'un modèle conceptuel et l'ajout de celui-ci à un projet, consultez Procédure : créer un fichier .edmx (Entity Data Model Tools). Pour plus d'informations sur l'ajout d'un modèle conceptuel existant à un projet, consultez Procédure : ajouter un fichier .edmx existant (Entity Data Model Tools).
Ajoutez un projet de site Web ASP.NET à votre solution existante.
Pour plus d'informations sur l'ajout d'un projet à une solution existante, consultez Procédure : créer des solutions multiprojets.
Cliquez avec le bouton droit sur le projet de site Web ASP.NET, puis sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Cliquez sur l'onglet .NET de la boîte de dialogue Ajouter une référence, puis sélectionnez System.Data.Entity. Cliquez sur OK.
L'étape suivante consiste à créer une référence au projet Bibliothèque de classes à partir du projet de site Web ASP.NET. Il existe deux façons de procéder :
Cliquez avec le bouton droit sur le projet de site Web ASP.NET dans l'Explorateur de solutions, puis sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Cliquez sur l'onglet Projets de la boîte de dialogue Ajouter une référence, puis sélectionnez votre projet Bibliothèque de classes. Cliquez sur OK.
- OU -
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet Bibliothèque de classes, puis sélectionnez Générer.
L'assembly Bibliothèque de classes est ajouté au dossier bin\Debug du projet.
Cliquez avec le bouton droit sur le projet de site Web ASP.NET, puis sélectionnez Ajouter le dossier ASP.NET. Sélectionnez Bin.
Le dossier Bin est ajouté au projet.
Dans l'Explorateur Windows, accédez au dossier bin\Debug du projet Bibliothèque de classes. Cliquez avec le bouton droit sur l'assembly du projet (le fichier <nom_du_projet>.dll), puis sélectionnez Copier.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Bin sous le projet de site Web ASP.NET, puis sélectionnez Coller.
L'étape suivante consiste à rendre les fichiers de modèle et de mappage disponibles pour le projet de site Web ASP.NET. Vous pouvez, pour cela, incorporer les fichiers de modèle et de mappage en tant que ressources dans l'assembly Bibliothèque de classes, comme décrit dans les étapes suivantes. Pour connaître d'autres méthodes, consultez la procédure indiquée à la fin de cette rubrique (« Pour copier des fichiers de mappage et de métadonnées dans un projet de site Web ASP.NET »).
Ouvrez le fichier App.Config du projet Bibliothèque de classes.
Mettez en surbrillance les informations relatives à la chaîne de connexion, cliquez avec le bouton droit, puis sélectionnez Copier. Par exemple, copiez le code qui ressemble à ceci :
<add name="SchoolEntities" connectionString="metadata=res://*/School.csdl| res://*/School.ssdl| res://*/School.msl; provider=System.Data.SqlClient; provider connection string=" Data Source=(local); Initial Catalog=School; Integrated Security=True; MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
Ouvrez le fichier Web.config du projet de site Web ASP.NET, puis collez, dans le nœud
<connectionStrings>
, les informations de la chaîne de connexion copiées.
Vous pouvez maintenant écrire du code dans le projet de site Web ASP.NET qui utilisera le modèle conceptuel défini dans le projet de bibliothèque de classes.
Remarque : |
---|
Il peut être nécessaire de définir le projet nouvellement ajouté comme projet de démarrage avant de générer la solution.Pour cela, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions, puis sélectionnez Définir comme projet de démarrage. |
Copie de fichiers de mappage et de métadonnées dans un projet de site Web ASP.NET
Les procédures suivantes décrivent deux options permettant de copier des fichiers de modèle et de mappage dans un projet de site Web ASP.NET. Les deux méthodes décrites ici sont des alternatives à l'étape 7 de la procédure ci-dessus. La première procédure explique comment copier les fichiers dans le dossier Bin d'un projet de site Web ASP.NET, alors que la seconde procédure explique comment copier les fichiers dans le dossier App_Data. N'incorporez pas les fichiers de modèle et de mappage en tant que ressources dans l'assembly Bibliothèque de classes si vous choisissez l'une de ces options.
Pour copier les fichiers de modèle et de mappage dans le dossier Bin d'un projet de site Web ASP.NET
Double-cliquez sur le fichier .edmx dans le projet de bibliothèque de classes. Le fichier .edmx s'ouvre dans ADO.NET Entity Data Model Designer (Concepteur d'entités).
Cliquez avec le bouton droit sur une zone vide de l'aire de conception, puis sélectionnez Propriétés.
Dans la fenêtre Propriétés, affectez la valeur Copier dans le répertoire de sortie à la propriété Traitement d'artefact des métadonnées. Lorsque vous sélectionnez cette valeur, le Concepteur d'entités modifie la chaîne de connexion dans le fichier App.Config de la Bibliothèque de classes pour avoir des chemins de fichiers relatifs.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet Bibliothèque de classes, puis sélectionnez Générer.
Dans l'Explorateur Windows, accédez au répertoire de sortie de la Bibliothèque de classes (dossier bin\Debug), puis copiez les fichiers .csdl, .ssdl et .msl.
Cliquez avec le bouton droit sur le dossier Bin sous le projet de site Web ASP.NET, puis sélectionnez Coller.
Remarque : Si le projet ne contient pas de dossier Bin, vous pouvez en ajouter un en cliquant avec le bouton droit sur le projet dans l'Explorateur de solutions, en pointant sur Ajouter le dossier ASP.NET, puis en sélectionnant Bin. Ouvrez le fichier App.Config du projet Bibliothèque de classes. Mettez en surbrillance les informations de chaîne de connexion, cliquez avec le bouton droit, puis sélectionnez Copier.
Ouvrez le fichier Web.config du projet de site Web ASP.NET, puis collez, dans le nœud
<connectionStrings>
, les informations de chaîne de connexion copiées.Modifiez les entrées de métadonnées de la chaîne de connexion à faire précéder de ~\bin\. Par exemple, l'entrée de la chaîne de connexion copiée et modifiée doit ressembler à ceci :
<add name="SchoolEntities" connectionString="metadata=~\bin\School.csdl| ~\bin\School.ssdl| ~\bin\School.msl; provider=System.Data.SqlClient; provider connection string=" Data Source=(local); Initial Catalog=School; Integrated Security=True; MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
Pour copier les fichiers de modèle et de mappage dans le dossier App_Data du site Web ASP.NET
La procédure permettant de copier les fichiers de modèle et de mappage dans le dossier App_Data est semblable à la procédure permettant de les copier dans le dossier Bin. Il existe toutefois deux différences fondamentales :
Les fichiers .csdl, .ssdl et .msl doivent être copiés dans le dossier App_Data du projet de site Web ASP.NET, au lieu du dossier Bin (étape 6 ci-dessus).
Remarque Si le projet ne contient pas de dossier App_Data, vous pouvez en ajouter un en cliquant avec le bouton droit sur le projet dans l'Explorateur de solutions, en pointant sur Ajouter le dossier ASP.NET, puis en sélectionnant App_Data.
Après avoir copié les informations de chaîne de connexion du dossier App.Config de la Bibliothèque de classes vers le fichier Web.config du site Web ASP.NET (étapes 7 et 8 ci-dessus), modifiez les entrées de métadonnées à faire précéder de |DataDirectory|. Par exemple, l'entrée de chaîne de connexion copiée et modifiée doit ressembler à ceci :
<add name="SchoolEntities" connectionString="metadata=|DataDirectory|\School.csdl| |DataDirectory|\School.ssdl| |DataDirectory|\School.msl; provider=System.Data.SqlClient; provider connection string=" Data Source=(local); Initial Catalog=School; Integrated Security=True; MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
Voir aussi
Autres ressources
Tâches de déploiement avec Entity Data Model Tools
Tâches Entity Data Model Tools
Scénarios Entity Data Model Tools
Connection Strings