Handleiding: Een opgeslagen procedure aanroepen met LINQ (Visual Basic)
Language-Integrated Query (LINQ) maakt het eenvoudig om toegang te krijgen tot databasegegevens, inclusief databaseobjecten zoals opgeslagen procedures.
In het volgende voorbeeld ziet u hoe u een toepassing maakt die een opgeslagen procedure aanroept in een SQL Server-database. In het voorbeeld ziet u hoe u twee verschillende opgeslagen procedures in de database aanroept. Elke procedure retourneert de resultaten van een query. De ene procedure neemt invoerparameters en de andere procedure neemt geen parameters.
In de voorbeelden in dit artikel wordt de voorbeelddatabase Northwind gebruikt. Om de database te verkrijgen, zie Voorbeelddatabases downloaden.
Notitie
Mogelijk worden op uw computer verschillende namen of locaties weergegeven voor sommige elementen van de Visual Studio-gebruikersinterface in de volgende instructies. De Visual Studio-editie die u hebt en de instellingen die u gebruikt, bepalen deze elementen. Zie Personalizing the IDEvoor meer informatie.
Een verbinding met een database maken
Open in Visual Studio Server Explorer/Database Explorer, door te klikken op Server Explorer/Database Explorer in het menu Weergave.
Klik met de rechtermuisknop op gegevensverbindingen in Server Explorer/Database Explorer en klik vervolgens op Verbinding toevoegen.
Geef een geldige verbinding op met de northwind-voorbeelddatabase.
Een project met een LINQ toevoegen aan een SQL-bestand
In Visual Studio in het menu Bestand, wijs naar Nieuw en klik vervolgens op Project. Selecteer Visual Basic Windows Forms Application als projecttype.
Klik in het menu Project op Nieuwe item toevoegen. Selecteer de LINQ-naar-SQL-klassen item-sjabloon.
Geef het bestand de naam
northwind.dbml
. Klik op toevoegen. De Object Relational Designer (O/R Designer) wordt geopend voor het bestand northwind.dbml.
Opgeslagen procedures toevoegen aan O/R Designer
Vouw in Server Explorer/Database Explorerde verbinding met de Northwind-database uit. Vouw de map Opgeslagen procedures uit.
Als u de O/R Designer hebt gesloten, kunt u deze opnieuw openen door te dubbelklikken op het northwind.dbml-bestand dat u eerder hebt toegevoegd.
Klik op de Verkoop per jaar opgeslagen procedure en sleep deze naar het rechterdeelvenster van de ontwerpfunctie. Klik op de opgeslagen procedure Tien duurste producten en sleep deze naar het rechterpaneel van de ontwerper.
Sla uw wijzigingen op en sluit de ontwerpfunctie.
Sla uw project op.
Code toevoegen om de resultaten van de opgeslagen procedures weer te geven
Sleep een DataGridView controle vanuit de Toolboxnaar het standaard Windows Form van uw project, Form1.
Dubbelklik op Form1 om code toe te voegen aan de bijbehorende
Load
gebeurtenis.Toen u opgeslagen procedures aan de O/R Designer hebt toegevoegd, heeft de ontwerper een DataContext-object voor uw project toegevoegd. Dit object bevat de code die u nodig hebt voor toegang tot deze procedures. Het DataContext-object voor het project heeft een naam op basis van de naam van het DBML-bestand. Voor dit project heeft het DataContext object de naam
northwindDataContext
.U kunt een exemplaar van de DataContext maken in uw code en de opgeslagen proceduremethoden aanroepen die zijn opgegeven door de O/R Designer. Als u verbinding wilt maken met het DataGridView-object, moet u mogelijk afdwingen dat de query onmiddellijk wordt uitgevoerd door de methode ToList aan te roepen voor de resultaten van de opgeslagen procedure.
Voeg de volgende code toe aan de
Load
gebeurtenis om een van de opgeslagen procedures aan te roepen die beschikbaar zijn als methoden voor uw gegevenscontext.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()
Druk op F5- om uw project uit te voeren en de resultaten weer te geven.