Partager via


Procédure : utiliser un modèle défini dans une bibliothèque de classes

Cette rubrique explique comment utiliser un modèle EDM (Entity Data Model) dans un projet lorsque le modèle EDM est défini dans un projet Bibliothèque de classes Visual Studio 2008.

La première procédure de cette rubrique montre comment utiliser un modèle EDM 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 EDM défini dans une bibliothèque de classes provenant d'un projet de site Web ASP.NET.

Pour utiliser un modèle EDM défini dans une bibliothèque de classes provenant de projets autres que des projets de site Web ASP.NET

  1. 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, voir Procédure : créer des solutions et des projets.

  2. Ajoutez un modèle EDM au projet Bibliothèque de classes.

    Pour plus d'informations sur la création d'un modèle EDM et son ajout à un projet, voir Procédure : créer un nouvel modèle EDM (Entity Data Model). Pour plus d'informations sur l'ajout d'un modèle EDM existant à un projet, voir Procédure : ajouter un modèle EDM (Entity Data Model) existant.

  3. 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, voir Procédure : créer des solutions multiprojets.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Ouvrez le fichier App.Config du projet Bibliothèque de classes.

  9. Mettez en surbrillance la section de 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=&quot;
                                 Data Source=(local);
                                 Initial Catalog=School;
                                 Integrated Security=True;
                                 MultipleActiveResultSets=True&quot;" 
               providerName="System.Data.EntityClient" />
    
  10. Ouvrez le fichier App.Config du projet nouvellement ajouté, puis collez, dans le nœud <connectionStrings>, les informations de chaîne de connexion copiées.

    NoteRemarque

    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 EDM défini dans le projet Bibliothèque de classes.

NoteRemarque

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 EDM défini dans une bibliothèque de classes provenant d'un projet de site Web ASP.NET

  1. 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, voir Procédure : créer des solutions et des projets.

  2. Ajoutez un modèle EDM au projet Bibliothèque de classes.

    Pour plus d'informations sur la création d'un modèle EDM et son ajout à un projet, voir Procédure : créer un nouvel modèle EDM (Entity Data Model). Pour plus d'informations sur l'ajout d'un modèle EDM existant à un projet, voir Procédure : ajouter un modèle EDM (Entity Data Model) existant.

  3. Ajoutez un projet de site Web ASP.NET à votre solution existante.

    Pour plus d'informations sur l'ajout d'un projet à une solution existante, voir Procédure : créer des solutions multiprojets.

  4. 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.

  5. 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.

  6. 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 :

    1. 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.

    2. 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 -

    1. 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.

    2. 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.

    3. 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.

    4. 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.

  7. 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, voir 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 »).

    1. Ouvrez le fichier App.Config du projet Bibliothèque de classes.

    2. Mettez en surbrillance les informations de 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=&quot;
                                   Data Source=(local);
                                   Initial Catalog=School;
                                   Integrated Security=True;
                                   MultipleActiveResultSets=True&quot;" 
                 providerName="System.Data.EntityClient" />
      
    3. 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.

Vous pouvez maintenant écrire du code dans le projet de site Web ASP.NET qui utilisera le modèle EDM défini dans le projet Bibliothèque de classes.

NoteRemarque

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 des fichiers de mappage et de métadonnées dans le dossier Bin d'un projet de site Web ASP.NET

  1. Double-cliquez sur le fichier .edmx dans le projet Bibliothèque de classes. Le fichier .edmx s'ouvre dans ADO.NET Entity Data Model Designer (Concepteur d'entités).

  2. Cliquez avec le bouton droit sur une zone vide de l'aire de conception, puis sélectionnez Propriétés.

  3. 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.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet Bibliothèque de classes, puis sélectionnez Générer.

  5. 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.

  6. Cliquez avec le bouton droit sur le dossier Bin sous le projet de site Web ASP.NET, puis sélectionnez Coller.

    NoteRemarque

    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.

  7. 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.

  8. 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.

  9. 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 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=&quot;
                               Data Source=(local);
                               Initial Catalog=School;
                               Integrated Security=True;
                               MultipleActiveResultSets=True&quot;" 
             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=&quot;
                                 Data Source=(local);
                                 Initial Catalog=School;
                                 Integrated Security=True;
                                 MultipleActiveResultSets=True&quot;" 
               providerName="System.Data.EntityClient" />
      

Voir aussi

Autres ressources

Tâches de déploiement à l'aide du Concepteur d'entités
Tâches des outils Entity Data Model
Scénarios ADO.NET Entity Data Model Designer
Chaînes de connexion (Entity Framework)