Partager via


Procédure pas à pas : création de classes LINQ to SQL avec l’héritage de table unique (Concepteur O/R)

Les outils LINQ to SQL dans Visual Studio prennent en charge l’héritage de table unique tel qu’il est généralement implémenté dans les systèmes relationnels. Cette procédure pas à pas développe les étapes génériques fournies dans le guide pratique pour configurer l’héritage à l’aide du Concepteur O/R et fournit des données réelles pour illustrer l’utilisation de l’héritage dans le Concepteur O/R.

Dans le cadre de cette procédure pas à pas, vous allez exécuter les tâches suivantes :

  • Créer une table de base de données et ajouter des données.

  • Créer une application Windows Forms.

  • Ajouter un fichier LINQ to SQL à un projet

  • Créer de nouvelles classes d'entité.

  • Configurer les classes d'entité pour utiliser l'héritage.

  • Interroger la classe héritée.

  • Afficher les données sur un Windows Form.

Création d’une table de laquelle hériter

Pour voir comment fonctionne l’héritage, vous allez créer une petite table Person que vous utiliserez comme classe de base, puis un objet Employee qui héritera de cette classe.

Pour créer une table de base illustrant l'héritage

  1. Dans l’Explorateur de serveurs ou l’explorateur de base de données, cliquez avec le bouton droit sur le nœud Tables et cliquez sur Ajouter une nouvelle table.

    Notes

    Vous pouvez utiliser la base de données Northwind ou toute autre base de données à laquelle vous pouvez ajouter une table.

  2. Dans le Concepteur de tables, ajoutez les colonnes suivantes à la table :

    Nom de la colonne Type de données Null autorisé
    Identifiant int False
    Type int True
    FirstName nvarchar(200) False
    LastName nvarchar(200) False
    Manager int True
  3. Définissez la colonne d'ID comme clé primaire.

  4. Enregistrez la table et nommez-la Personnel.

Ajouter des données à la table

Pour pouvoir vérifier si l'héritage est configuré correctement, la table a besoin de données dans chaque classe de l'héritage à table unique.

Pour ajouter des données à la table

  1. Ouvrez la table dans la vue de données. (Cliquez avec le bouton droit sur la table Person dans l’Explorateur de serveurs ou l’explorateur de base de données et cliquez sur Afficher les données de la table.)

  2. Copiez les données suivantes dans la table. (Vous pouvez les copier puis les coller dans la table en sélectionnant la ligne entière dans le volet Résultats.)

    Identifiant Type FirstName LastName Manager
    1 1 Ann Wallace NULL
    2 1 Carlos Grilo NULL
    3 1 Yael Peled NULL
    4 2 Gatis Ozolins 1
    5 2 Andreas Hauser 1
    6 2 Tiffany Phuvasate 1
    7 2 Alexey Orekhov 2
    8 2 Michał Poliszkiewicz 2
    9 2 Tai Yee 2
    10 2 Fabricio Noriega 3
    11 2 Mindy Martin 3
    12 2 Ken Kwok 3

Création d'un projet

Maintenant que vous avez créé la table, créez un nouveau projet pour voir la configuration de l'héritage.

Pour créer l’application Windows Forms

  1. Dans Visual Studio, dans le menu Fichier, sélectionnez Nouveau>Projet.

  2. Développez Visual C# ou Visual Basic dans le volet gauche, puis sélectionnez Windows Desktop.

  3. Dans le volet central, sélectionnez le type de projet Application Windows Forms.

  4. Nommez le projet InheritanceWalkthrough, puis choisissez OK.

    Le projet InheritanceWalkthrough est créé et ajouté à l’Explorateur de solutions.

Ajouter un fichier de classes LINQ to SQL au projet

Pour ajouter un fichier LINQ to SQL au projet

  1. Dans le menu Projet , cliquez sur Ajouter un nouvel élément.

  2. Cliquez sur le modèle Classes LINQ to SQL, puis sélectionnez Ajouter.

    Le fichier .dbml est ajouté au projet et le Concepteur O/R s’ouvre.

Créer l’héritage avec le Concepteur O/R

Configurez l’héritage en faisant glisser un objet Héritage de la Boîte à outils vers l’aire de conception.

Pour créer l'héritage

  1. Dans l’Explorateur de serveurs ou l’explorateur de base de données, accédez à la table Person que vous avez créée précédemment.

  2. Faites glisser la table Person sur l’aire de conception du Concepteur O/R.

  3. Faites glisser une deuxième table Person dans le Concepteur O/R et renommez-la Employee.

  4. Supprimez la propriété Manager de l’objet Personnel.

  5. Supprimez les propriétés Type, ID, FirstName et LastName de l’objet Employé. (En d’autres termes, supprimez toutes les propriétés à l’exception de Manager.)

  6. À partir de l’onglet Concepteur Objet Relationnel de la Boîte à outils, créez un Héritage entre les objets Personnel et Employé. Pour cela, cliquez sur l’élément Héritage dans la Boîte à outils et relâchez le bouton de la souris. Ensuite, cliquez sur l’objet Employee, puis sur l’objet Person dans le Concepteur O/R. La flèche sur la ligne d’héritage pointe ensuite sur l’objet Person.

  7. Cliquez sur la ligne Héritage dans l’aire de conception.

  8. Affectez à Propriété de discriminateur la valeur Type.

  9. Affectez à la propriété Valeur de discriminateur de classe dérivée la valeur 2.

  10. Affectez à la propriété Valeur de discriminateur de classe de base la valeur 1.

  11. Affectez à la propriété Héritage par défaut la valeur Personnel.

  12. Créez le projet.

Interroger la classe héritée et afficher des données sur le formulaire

Vous allez maintenant ajouter du code au formulaire qui interroge une classe spécifique dans le modèle objet.

Pour créer une requête LINQ et afficher les résultats sur le formulaire

  1. Faites glisser une Zone de liste sur Form1.

  2. Double-cliquez sur le formulaire pour créer un gestionnaire d'événements Form1_Load.

  3. Ajoutez le code suivant au gestionnaire d'événements Form1_Load :

    NorthwindDataContext dc = new DataClasses1DataContext();
    var results = from emp in dc.Persons
                  where emp is Employee
                  select emp;
    
    foreach(Employee Emp in results)
    {
        listBox1.Items.Add(Emp.LastName)
    }
    

Test de l’application

Exécutez l’application et vérifiez que les enregistrements affichés dans la zone de liste sont tous des employés (enregistrements qui ont une valeur 2 dans leur colonne Type).

Pour tester l'application

  1. Appuyez sur F5.

  2. Vérifiez que seuls les enregistrements qui ont une valeur 2 dans leur colonne Type sont affichés.

  3. Fermez le formulaire. (Dans le menu Déboguer, cliquez sur Arrêter le débogage.)