Partager via


LINQ to SQL Tools dans Visual Studio

 

Date de publication : juin 2016

LINQ to SQL a été la première technologie de mappage objet-relationnel publiée par Microsoft. Elle fonctionne bien dans les scénarios de base et continue à être pris en charge dans Visual Studio, mais il n’est plus en cours de développement actif. Utiliser LINQ to SQL lors de la maintenance d’une application héritée qui utilise déjà, ou dans des applications simples qui utilisent SQL Server et ne nécessitent pas de mappage de plusieurs table. En règle générale, les nouvelles applications doivent utiliser Entity Framework lorsqu’une couche mappeur relationnel objet est requise.

Dans Visual Studio, vous créez LINQ to SQL classes qui représentent des tables SQL à l’aide de la Concepteur O/R.

Le Concepteur O/R a deux zones distinctes sur son aire de conception : le volet d’entités sur la gauche et le volet de méthodes sur la 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 le DataContext méthodes qui sont mappées aux procédures stockées et fonctions.

Le Object Relational Designer (Concepteur O/R) fournit une aire de conception visuelle pour la création de LINQ to SQL classes d’entité et les associations (relations) basées sur des 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 fortement typé DataContext qui est utilisé pour envoyer et recevoir des données entre les classes d’entité et de la base de données. Le Concepteur O/R également fournit la fonctionnalité permettant de mapper des procédures stockées et des fonctions aux DataContext méthodes pour retourner des données et 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é.

Ouverture du Concepteur O/R

Pour ajouter un LINQ to SQL entity model à votre projet, choisissez projet &#124 ; Ajouter un nouvel élément puis Classes LINQ to SQL dans la liste des éléments de projet :

Classes LINQ to SQL

Visual Studio crée un fichier .dbml et l’ajoute à votre solution. C’est le fichier de mappage XML et ses fichiers de code associé.

Classes LINQ to SQL dans l’Explorateur de solutions

Lorsque vous sélectionnez le fichier .dbml, Visual Studio affiche l’aire du Concepteur O/R vous permet de créer visuellement le modèle. L’illustration suivante montre le concepteur après aient déplacé les tables Northwind Customers et Orders à partir de l’Explorateur de serveurs. Notez la relation entre les tables.

Concepteur LINQ to SQL

Important

Le Concepteur O/R est un mappeur relationnel objet simple, car il 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 ; utiliser Entity Framework pour le mappage complex. 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 la façon d’ajouter le code utilisateur et d’étendre les classes générées par le Concepteur O/R, consultez Comment : étendre Code généré par le Concepteur O/R.

Création et configuration du DataContext

Après avoir ajouté un Classes LINQ to SQL élément à un projet et ouvrez le Concepteur O/R, l’aire de conception vide représente vide DataContext 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, le DataContext est configuré à l’aide des informations de connexion à partir du premier élément placé sur l’aire de conception. Pour plus d’informations sur la DataContext consultez classe DataContext, méthodes (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 vues en faisant glisser des tables de base de données et des vues de Explorateur de serveurs/Explorateur de base de données sur le Concepteur O/R. Comme indiqué dans la section précédente le 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é à la Concepteur O/R, vous pouvez modifier la connexion pour le DataContext. Pour plus d’informations, consultez Comment : créer des classes LINQ to SQL mappées aux tables et vues (Concepteur O/R).

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

Vous pouvez créer DataContext méthodes qui appellent (sont mappées à) des procédures stockées et fonctions en les faisant glisser à partir de Explorateur de serveurs/Explorateur de base de données sur le Concepteur O/R. Les procédures stockées et fonctions sont ajoutées à la Concepteur O/R en tant que méthodes de le DataContext.

Notes

Lorsque vous faites glisser des procédures stockées et des fonctions de Explorateur de serveurs/Explorateur de base de données sur le Concepteur O/R, le type de retour généré DataContext méthode diffère selon l’endroit où vous placez l’élément. Pour plus d’informations, consultez DataContext, méthodes (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 indiqué précédemment, vous pouvez créer DataContext méthodes 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 Comment : assigner des procédures stockées pour effectuer des mises à jour, insertions et 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 Comment : configurer l’héritage à l’aide du Concepteur O/R.

Requêtes LINQ to SQL

Les classes d’entité créés par le Concepteur O/R sont conçus pour une utilisation avec LINQ (Language-Integrated Query). Pour plus d’informations, consultez Comment : demander des informations.

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

Le Concepteur O/R fournit le contexte Namespace et Entity Namespace propriétés sur le DataContext. Ces propriétés déterminent dans quel espace de noms du DataContext et le code de classe d’entité est généré. Par défaut, ces propriétés sont vides et DataContext et les classes d’entité sont 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 de l’espace de noms de l’application, entrez une valeur dans la contexte Namespace et/ou Entity Namespace Propriétés.

Dans cette section

Méthodes DataContext (Concepteur O/R)
Explique ce que DataContext méthodes sont et comment les créer.

Héritage de classes de données (Concepteur O/R)
Décrit le concept d'héritage de table unique et comment il est implémenté dans le Concepteur O/R.

Comment : créer des LINQ to SQL classes mappées aux tables et vues (Concepteur O/R)
Décrit comment créer des classes d'entité mappées aux tables et aux vues dans une base de données.

Comment : créer une association (relation) entre les classes LINQ to SQL (Concepteur O/R)
Décrit comment créer une relation entre des classes d'entité LINQ to SQL.

Comment : créer des méthodes DataContext mappées aux procédures stockées et fonctions (Concepteur O/R)
Décrit comment créer DataContext méthodes qui exécutent des procédures stockées ou fonctions lorsqu’elles sont appelées.

Comment : assigner des procédures stockées pour effectuer des mises à jour, insertions et suppressions (Concepteur O/R)
Décrit comment configurer un DataContext pour utiliser des procédures stockées lors de l’enregistrement des données d’entité de classes dans une base de données.

Comment : modifier le type de retour d’une méthode DataContext (Concepteur O/R)
Décrit comment définir le type de retour d’un DataContext méthode pour le type d’une classe d’entité ou type généré automatiquement créé par le Concepteur O/R.

Comment : ajouter la validation aux classes d’entité
Décrit comment générer des méthodes partielles qui permettent l'ajout de code pendant le changement de propriété et la mise à jour de classe d'entité.

Comment : activer et désactiver (Concepteur O/R) pluralisation
Décrit comment activer et désactiver le changement de nom automatique des classes ajoutées au Concepteur O/R.

Comment : configurer l’héritage à l’aide du Concepteur O/R
Décrit comment configurer des classes d'entité à l'aide de l'héritage à table unique avec le Concepteur O/R.

Comment : étendre le Code généré par le Concepteur O/R
Décrit comment et où ajouter du code qui ne sera pas remplacé lors des modifications d'objets provoquant une régénération du code dans le Concepteur O/R.

Procédure pas à pas : Création des Classes LINQ to SQL à l’aide de l’héritage de Table unique (Concepteur O/R)
Fournit des instructions pas à pas pour configurer des classes d'entité à l'aide de l'héritage à table unique avec le Concepteur O/R.

Procédure pas à pas : Personnalisation de l’instruction insert, update et delete de comportement des classes d’entité
Fournit des instructions pas à pas pour configurer un DataContext pour utiliser des procédures stockées lors de l’enregistrement des données d’entité de classes dans une base de données.

Contenu de référence

System.Linq

System.Data.Linq

Voir aussi

Outils de données Visual Studio pour .NET
Forum aux Questions
LINQ to SQL
L’accès aux données dans Visual Studio