Vue d'ensemble du Concepteur O/R

Mise à jour : November 2007

Le Concepteur Objet/Relationnel (Concepteur O/R) fournit une aire de conception visuelle pour créer les classes d'entité LINQ to SQL et les associations (relations) basées sur les objets dans une base de données. En d'autres termes, le Concepteur O/R est utilisé pour créer, dans une application, un modèle objet qui effectue un mappage aux objets d'une base de données. Il génère également un DataContext fortement typé utilisé pour envoyer et recevoir des données entre les classes d'entité et la base de données. Le Concepteur O/R fournit également des fonctionnalités permettant de mapper des procédures stockées et des fonctions aux méthodes DataContext afin de retourner des données et de remplir des classes d'entité. Enfin, le Concepteur O/R donne la possibilité de concevoir des relations d'héritage entre des classes d'entité.

Le Concepteur O/R génère le fichier .dbml qui assure le mappage entre les classes LINQ to SQL et les objets de base de données. Le Concepteur O/R génère également le DataContext typé et les classes d'entité.

Le Concepteur O/R comporte deux zones distinctes dans son aire de conception : le volet d'entités à gauche et le volet de méthodes à droite. Le volet d'entités est l'aire de conception principale qui affiche les classes d'entité, associations et hiérarchies d'héritage. Le volet de méthodes est l'aire de conception qui affiche les méthodes DataContext mappées aux procédures stockées et aux fonctions.

Remarque :

Le Concepteur O/R ne prend actuellement en charge que les bases de données SQL Server 2000, SQL Server 2005, SQL Server 2008 et SQL Server Express. Contrairement à LINQ to SQL, le Concepteur O/R ne prend pas en charge SQL Server Compact 3.5. Pour plus d'informations, consultez SQL Server Compact 3.5 et LINQ to SQL. Pour plus d'informations sur la façon d'obtenir SQL Server Express, consultez la section « Obtention de SQL Server Express » de la rubrique Comment : installer des exemples de bases de données.

Ouverture du Concepteur O/R

Vous pouvez ouvrir le Concepteur O/R en ajoutant un nouvel élément Classes LINQ to SQL à un projet. Pour plus d'informations, consultez Procédure : ajouter des classes LINQ to SQL à un projet (Concepteur O/R).

Remarque importante :

Le Concepteur O/R est un mappeur objet/relationnel simple, car il ne prend en charge que les relations de mappage 1:1. En d'autres termes, une classe d'entité peut uniquement avoir une relation de mappage 1:1 avec une table ou une vue de base de données. Le mappage complexe, tel que le mappage d'une classe d'entité à une table jointe, n'est pas pris en charge actuellement. En outre, le concepteur est un générateur de code unidirectionnel. Cela signifie que seules les modifications apportées à l'aire du concepteur sont répercutées dans le fichier de code. Les modifications manuelles au fichier de code ne se sont pas répercutées dans le Concepteur O/R. Les modifications apportées manuellement dans le fichier de code sont remplacées lorsque le concepteur est enregistré et le code régénéré. Pour plus d'informations sur l'ajout de code utilisateur et l'extension des classes générées par le Concepteur O/R, consultez Procédure : étendre le code généré par le Concepteur O/R.

Création et configuration du DataContext

Après avoir ajouté un élément Classes LINQ to SQL à un projet et ouvert le Concepteur O/R, l'aire de conception vide représente un DataContext vide prêt à être configuré. Le DataContext est configuré avec les informations de connexion fournies par le premier élément glissé sur l'aire de conception. Par conséquent, DataContext est configuré en utilisant les informations de connexion du premier élément placé sur l'aire de conception. Pour plus d'informations sur la classe DataContext, consultez Méthodes DataContext (Concepteur O/R).

Création des classes d'entité qui mappent aux tables et vues de base de données

Vous pouvez créer des classes d'entité mappées aux tables et aux vues en faisant glisser des tables et des vues de base de données de l'Explorateur de serveurs/Explorateur de bases de données vers le Concepteur O/R. Comme indiqué dans la section précédente, DataContext est configuré avec les informations de connexion fournies par le premier élément glissé sur l'aire de conception. Si un élément suivant qui utilise une connexion différente est ajouté au Concepteur O/R, vous pouvez modifier la connexion pour le DataContext. Pour plus d'informations, consultez Procédure : créer des classes LINQ to SQL mappées à des tables et à des vues (Concepteur O/R).

Création des méthodes DataContext qui appellent des procédures stockées et des fonctions

Vous pouvez créer des méthodes DataContext qui appellent (sont mappées à) des procédures stockées et des fonctions en les faisant glisser de l'Explorateur de serveurs/Explorateur de bases de données vers le Concepteur O/R. Les procédures stockées et fonctions sont ajoutées au Concepteur O/R comme méthodes du DataContext.

Remarque :

Lorsque vous faites glisser des procédures stockées et des fonctions de l'Explorateur de serveurs/Explorateur de bases de données vers le Concepteur O/R, le type de retour de la méthode DataContext générée diffère selon l'endroit où vous placez l'élément. Pour plus d'informations, consultez Méthodes DataContext (Concepteur O/R).

Configuration d'un DataContext pour utiliser des procédures stockées afin d'enregistrer les données entre des classes d'entité et une base de données

Comme mentionné précédemment, vous pouvez créer des méthodes DataContext qui appellent des procédures stockées et des fonctions. En outre, vous pouvez assigner des procédures stockées qui peuvent être utilisées pour le comportement au moment de l'exécution par défaut de LINQ to SQL qui effectue les insertions, les mises à jour et les suppressions. Pour plus d'informations, consultez Procédure : assigner des procédures stockées pour effectuer des mises à jour, des insertions et des suppressions (Concepteur O/R).

Héritage et le 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 une base de données, les relations d'héritage sont créées de plusieurs façons. Le Concepteur O/R prend en charge le concept d'héritage à table unique tel qu'il est souvent implémenté dans les systèmes relationnels. Pour plus d'informations, consultez Procédure : configurer l'héritage à l'aide du Concepteur O/R.

Requêtes LINQ to SQL

Les classes d'entité créées par le Concepteur O/R sont conçues pour être utilisées avec LINQ (Language-Integrated Query). Pour plus d'informations, consultez Procédure : demander des informations (LINQ to SQL).

Séparation du GeneratedDataContext et du code de classe d'entité dans des espaces de noms différents

Le Concepteur O/R fournit les propriétés Espace de noms du contexte et Espace de noms de l'entité de DataContext. Ces propriétés déterminent dans quel espace de noms le DataContext et le code de classe entité est généré. Par défaut, ces propriétés sont vides, les DataContext et les classes d'entité étant générés dans l'espace de noms de l'application. Pour générer le code dans un espace de noms autre que l'espace de noms de l'application, entrez une valeur dans les propriétés Espace de noms du contexte et/ou Espace de noms de l'entité.

Voir aussi

Tâches

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)

Concepts

Nouveautés des données

Référence

Guide de programmation général LINQ

Autres ressources

LINQ to SQL

LINQ to ADO.NET

Concepteur Objet/Relationnel (Concepteur O/R)