Héritage de classes de données (Concepteur O/R)
Comme d'autres objets, les classes LINQ to SQL peuvent utiliser l'héritage et être dérivées d'autres classes. Dans le code, vous pouvez spécifier des relations d'héritage entre des objets en déclarant qu'une classe hérite d'une autre. Dans une base de données, les relations d'héritage sont créées de plusieurs façons. L'Concepteur Objet/Relationnel (Concepteur O/R) prend en charge le concept d'héritage à table unique qui est souvent implémenté dans les systèmes relationnels.
Dans l'héritage à table unique, une table de base de données contient des colonnes pour les classes de base et dérivées. Avec les données relationnelles, une colonne de discriminateur contient la valeur qui détermine à quelle classe appartient un enregistrement donné. Prenons par exemple une table Persons qui contient tous les employées d'une société. Certaines personnes sont des employés et d'autres des responsables. La table Persons contient une colonne nommée Type qui a une valeur de 1 pour les responsables et une valeur de 2 pour les employés. Il s'agit de la colonne de discriminateur. Dans ce scénario, vous pouvez créer une sous-classe d'employés et remplir la classe avec uniquement des enregistrements ayant une valeur Type de 2.
Lorsque vous configurez l'héritage dans les classes d'entité à l'aide de l'Concepteur O/R, faites glisser la table unique qui contient les données d'héritage sur le concepteur à deux reprises : une pour chaque classe dans la hiérarchie d'héritage. Après avoir ajouté les tables au concepteur, associez-les à un élément Héritage de la boîte à outils Object Relational Designer, puis définissez les quatre propriétés d'héritage dans la fenêtre Propriétés.
Propriétés d'héritage
Le tableau suivant répertorie les propriétés d'héritage et leurs descriptions :
Propriété |
Description |
---|---|
Propriété de discriminateur |
Propriété (mappée à la colonne) qui détermine à quelle classe appartient l'enregistrement actif. |
Valeur Discriminator de la classe de base |
Valeur (dans la colonne désignée comme Propriété de discriminateur) déterminant qu'un enregistrement fait partie de la classe de base. |
Valeur Discriminator de la classe dérivée |
Valeur (dans la propriété désignée comme Propriété de discriminateur) déterminant qu'un enregistrement fait partie de la classe dérivée. |
Valeur par défaut d'héritage |
La classe qui doit être remplie lorsque la valeur dans la propriété désignée comme la Propriété de discriminateur ne correspond pas à la Valeur Discriminator de la classe de base ou à la Valeur Discriminator de la classe dérivée. |
La création d'un modèle objet qui utilise l'héritage et correspond aux données relationnelles peut prêter à confusion. Cette rubrique fournit des informations à propos des concepts de base et des propriétés individuelles requises pour configurer l'héritage. Les rubriques suivantes fournissent une explication plus claire de la configuration de l'héritage avec le Concepteur O/R.
Rubrique |
Description |
---|---|
Procédure : configurer l'héritage à l'aide du Concepteur O/R |
Décrit comment configurer des classes d'entité qui utilisent l'héritage à table unique à l'aide du Concepteur O/R. |
Fournit des instructions pas à pas sur la configuration des classes d'entité qui utilisent l'héritage à table unique à l'aide de l'Concepteur O/R. |
Voir aussi
Tâches
Procédure pas à pas : création de classes LINQ to SQL (Concepteur O/R)