Anvisningar: Anropa en lagrad procedur med hjälp av LINQ (Visual Basic)
Language-Integrated Query (LINQ) gör det enkelt att komma åt databasinformation, inklusive databasobjekt som lagrade procedurer.
I följande exempel visas hur du skapar ett program som anropar en lagrad procedur i en SQL Server-databas. Exemplet visar hur du anropar två olika lagrade procedurer i databasen. Varje procedur returnerar resultatet av en fråga. En procedur tar indataparametrar och den andra proceduren tar inte parametrar.
Exemplen i den här artikeln använder Northwind-exempeldatabasen. Information om hur du hämtar databasen finns i Hämta exempeldatabaser.
Not
Datorn kan visa olika namn eller platser för vissa av Visual Studio-användargränssnittselementen i följande instruktioner. Den Visual Studio-utgåva som du har och de inställningar som du använder avgör dessa element. För mer information, se Anpassa IDE.
Så här skapar du en anslutning till en databas
Öppna Server Explorer/Database Explorer i Visual Studio genom att klicka på Server Explorer/Database Explorer på menyn View.
Högerklicka på dataanslutningar i Server Explorer/Database Explorer och klicka sedan på Lägg till anslutning.
Ange en giltig anslutning till Northwind-exempeldatabasen.
Så här lägger du till ett projekt som innehåller en LINQ till SQL-fil
I Visual Studio går du till menyn Arkiv, pekar på Ny och klickar sedan på Projekt. Välj Visual Basic Windows Forms Application som projekttyp.
På menyn Project klickar du på Lägg till nytt objekt. Välj objektmallen LINQ-till-SQL-klasser.
Ge filen namnet
northwind.dbml
. Klicka på Lägg till. Objektrelationsdesignern (O/R Designer) öppnas för filen northwind.dbml.
Lägga till lagrade procedurer i O/R Designer
I Server Explorer/Database Explorerexpanderar du anslutningen till Northwind-databasen. Expandera mappen Lagrade procedurer.
Om du har stängt O/R Designer kan du öppna den igen genom att dubbelklicka på filen northwind.dbml som du lade till tidigare.
Klicka på Försäljning per år den lagrade proceduren och dra den till den högra rutan i designern. Klicka på tio dyraste produkter lagrad procedur dra den till den högra rutan i designern.
Spara ändringarna och stäng designern.
Spara projektet.
Så här lägger du till kod för att visa resultatet av de lagrade procedurerna
Dra en DataGridView-kontroll från Toolboxtill standardformuläret för ditt projekt, Form1.
Dubbelklicka på Form1 för att lägga till kod i dess
Load
händelse.När du lade till lagrade procedurer i O/R Designer lade designern till ett DataContext objekt för projektet. Det här objektet innehåller den kod som du måste ha för att få åtkomst till dessa procedurer. Det DataContext objektet för projektet namnges baserat på namnet på .dbml-filen. För det här projektet heter DataContext-objektet
northwindDataContext
.Du kan skapa en instans av DataContext i koden och anropa de lagrade procedurer som anges av O/R Designer. Om du vill binda till DataGridView-objektet kan du behöva tvinga frågan att köras omedelbart genom att anropa metoden ToList på resultatet av den lagrade proceduren.
Lägg till följande kod i händelsen
Load
för att anropa någon av de lagrade procedurer som exponeras som metoder för din datakontext.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()
Tryck på F5- för att köra projektet och visa resultatet.