Partager via


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

 

Date de publication : juin 2016

Tel qu'il est implémenté dans les systèmes relationnels, le Concepteur Objet/Relationnel (Concepteur O/R) prend en charge l'héritage à table unique.Cette procédure pas à pas se développe à partir des étapes génériques fournies dans la rubrique Procédure : configurer l'héritage à l'aide du Concepteur O/R et illustre l'utilisation d'héritage dans le Concepteur O/R par des données réelles.

Au cours de cette procédure, vous exécuterez 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 l'héritage fonctionne, vous allez créer une petite table Personnel que vous utiliserez comme classe de base, puis un objet Employé qui héritera de cette classe.

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

  1. Dans l'Explorateur de serveurs/Explorateur de bases de données, cliquez avec le bouton droit sur le nœud Tables et cliquez 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é
    ID 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 dénommez-la Personnel.

Ajout de 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 Personnel dans l'Explorateur de serveurs/Explorateur de bases 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 Results Pane.)

    ID Type FirstName LastName Manager
    1 1 Anne 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 une application Windows

  1. Dans le menu Fichier, créez un nouveau projet.

  2. Nommez le projet InheritanceWalkthrough.

    Notes

    Le Concepteur O/R est pris en charge dans les projets Visual Basic et C#.Vous pouvez donc créer le projet dans l'un ou l'autre de ces langages.

  3. Cliquez sur le modèle Application Windows Forms, puis sur OK.Pour plus d'informations, consultez Applications clientes.

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

Ajout d'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 cliquez sur Ajouter.

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

Création de 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/Explorateur de bases de données, naviguez vers la table Personnel que vous avez créée précédemment.

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

  3. Faites glisser un deuxième tableau Personnel dans le Concepteur O/R et modifiez son nom en Employé.

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

  5. Supprimez les propriétés Type, ID, FirstNameet 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 Employé, puis sur l'objet Personnel dans le Concepteur O/R.La flèche sur la ligne d'héritage pointe sur l'objet Personnel.

  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 Discriminatoire de la classe dérivée la valeur 2.

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

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

  12. Générez le projet.

Interrogation de la classe héritée et affichage des données sur le formulaire

Vous ajouterez maintenant 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 :

    Dim dc As New DataClasses1DataContext  
    Dim results = From emp In dc.Persons _  
        Where TypeOf emp Is Employee _  
        Select emp  
    
    For Each Emp As Employee In results  
        ListBox1.Items.Add(Emp.LastName)  
    Next  
    
    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 de type).

Pour tester l'application

  1. Appuyez sur F5.

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

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

Voir aussi

Vue d'ensemble du Concepteur O/R
Procédure : ajouter des classes LINQ to SQL à un projet (Concepteur O/R)
Procédure pas à pas : création de classes LINQ to SQL (Concepteur O/R)
Procédure : assigner des procédures stockées pour effectuer des mises à jour, des insertions et des suppressions (Concepteur O/R)
LINQ à SQL
Procédure : générer le modèle objet en Visual Basic ou C#