Comment : appeler une procédure stockée à l'aide de LINQ (Visual Basic)
LINQ (Language-Integrated Query) facilite l'accès aux informations provenant de bases de données, y compris aux objets de base de données tels que les procédures stockées.
L'exemple suivant indique comment créer une application qui appelle une procédure stockée dans une base de données SQL Server. L'exemple indique comment appeler deux procédures stockées différentes dans la base de données. Chaque procédure retourne les résultats d'une requête. Une procédure accepte des paramètres d'entrée, tandis que l'autre n'accepte pas de paramètres.
Les exemples de cette rubrique utilisent l'exemple de base de données Northwind. Si vous ne disposez pas de l'exemple de base de données Northwind sur votre ordinateur de développement, vous pouvez le télécharger sur le site Web du Centre de téléchargement Microsoft. Pour obtenir des instructions, consultez Téléchargement d'exemples de bases de données (LINQ to SQL).
Notes
Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Pour créer une connexion à une base de données
Dans Visual Studio, ouvrez l'Explorateur de serveurs/Explorateur de bases de données en cliquant sur Explorateur de serveurs ou Explorateur de bases de données dans le menu Affichage.
Dans l'Explorateur de serveurs/Explorateur de bases de données, cliquez avec le bouton droit sur Connexions de données, puis sur Ajouter une connexion.
Spécifiez une connexion valide à l'exemple de base de données Northwind.
Pour ajouter un projet contenant un fichier LINQ to SQL
Dans le menu Fichier de Visual Studio, pointez sur Nouveau, puis cliquez sur Projet. Sélectionnez Application Windows Forms Visual Basic comme type de projet.
Dans le menu Projet, cliquez sur Ajouter un nouvel élément. Sélectionnez le modèle d'élément Classes LINQ to SQL.
Nommez le fichier northwind.dbml. Cliquez sur Ajouter. Le fichier northwind.dbml s'ouvre dans le Concepteur Objet/Relationnel (Concepteur O/R).
Pour ajouter des procédures stockées au Concepteur O/R
Dans l'Explorateur de serveurs/Explorateur de bases de données, développez la connexion à la base de données Northwind. Développez le dossier Procédures stockées.
Si vous avez fermé le Concepteur O/R, vous pouvez le rouvrir en double-cliquant sur le fichier northwind.dbml que vous avez ajouté précédemment.
Cliquez sur la procédure stockée Sales by Year et faites-la glisser vers le volet de droite du concepteur. Cliquez sur la procédure stockée Ten Most Expensive Products et faites-la glisser vers le volet de droite du concepteur.
Enregistrez vos modifications et fermez le concepteur.
Enregistrez votre projet.
Pour ajouter du code afin d'afficher les résultats des procédures stockées
À partir de la Boîte à outils, faites glisser un contrôle DataGridView sur le Windows Form par défaut pour votre projet, Form1.
Double-cliquez sur Form1 pour ajouter du code à son événement Load.
Lorsque vous avez ajouté des procédures stockées au Concepteur O/R, le concepteur a ajouté un objet DataContext à votre projet. Cet objet contient le code dont vous devez disposer pour accéder à ces procédures. L'objet DataContext pour le projet est nommé d'après le nom du fichier .dbml. Pour ce projet, l'objet DataContext est nommé northwindDataContext.
Vous pouvez créer une instance du DataContext dans votre code et appeler les méthodes de procédures stockées spécifiées par le Concepteur O/R. Vous devrez peut-être forcer la requête à exécuter immédiatement en appelant la méthode ToList<TSource> sur les résultats de la procédure stockée pour créer une liaison avec l'objet DataGridView.
Ajoutez le code suivant à l'événement Load pour appeler l'une ou l'autre des procédures stockées exposées comme méthodes pour votre contexte de données.
Dim db As New northwindDataContext ' Display the results of the Sales_by_Year stored procedure. DataGridView1.DataSource = db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList() ... ' Display the results of the Ten_Most_Expensive_Products ' stored procedure. DataGridView1.DataSource = db.Ten_Most_Expensive_Products.ToList()
Appuyez sur F5 pour exécuter votre projet et consulter les résultats.
Voir aussi
Tâches
Procédure pas à pas : création de classes LINQ to SQL (Concepteur O/R)
Concepts
Méthodes DataContext (Concepteur O/R)