Procédure pas à pas : création de classes LINQ to SQL à l'aide de l'héritage à table unique (Concepteur O/R)
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
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.
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
Définissez la colonne d'ID comme clé primaire.
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
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.)
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 Résultats, volet.)
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
Dans le menu Fichier, créez un nouveau projet.
Nommez le projet InheritanceWalkthrough.
Notes
Le Concepteur O/R est pris en charge dans les projets Visual Basic et C#.Créez le projet dans l'un de ces langages.
Cliquez sur le modèle Application Windows Forms, puis sur OK. Pour plus d'informations, consultez Développement d'applications clientes.
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
Dans le menu Projet, cliquez sur Ajouter un nouvel élément.
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
Dans l'Explorateur de serveurs/Explorateur de bases de données, naviguez vers la table Personnel que vous avez créée précédemment.
Faites glisser la table Personnel sur l'aire de conception du Concepteur O/R.
Faites glisser un deuxième tableau Personnel dans le Concepteur O/R et modifiez son nom en Employé.
Supprimez la propriété Manager de l'objet Personnel.
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.)
À 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.
Cliquez sur la ligne Héritage dans l'aire de conception.
Affectez à Propriété de discriminateur la valeur Type.
Affectez à la propriété Valeur Discriminatoire de la classe dérivée la valeur 2.
Affectez à la propriété Valeur discriminatoire de la classe de base la valeur 1.
Affectez à la propriété Héritage par défaut la valeur Personnel.
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
Faites glisser une Zone de liste sur Form1.
Double-cliquez sur le formulaire pour créer un gestionnaire d'événements Form1_Load.
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
Appuyez sur F5.
Vérifiez que seuls les enregistrements qui ont une valeur 2 dans leur colonne de type sont affichés.
Fermez le formulaire. Dans le menu Déboguer, cliquez sur Arrêter le débogage.
Voir aussi
Tâches
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 : générer le modèle objet en Visual Basic ou C#
Concepts
Vue d'ensemble du Concepteur O/R