Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Language-Integrated Query (LINQ) maakt het eenvoudig om toegang te krijgen tot databasegegevens en query's uit te voeren.
In het volgende voorbeeld ziet u hoe u een nieuwe toepassing maakt waarmee query's worden uitgevoerd op een SQL Server-database.
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
Wijs in Visual Studio in het menu Bestand 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 itemsjabloon.
Geef het bestand de naam
northwind.dbml. Klik op toevoegen. De Object Relational Designer (O/R Designer) wordt geopend voor het bestand northwind.dbml.
Tabellen toevoegen aan een query in de O/R Designer
Vouw in Server Explorer/Database Explorerde verbinding met de Northwind-database uit. Vouw de map Tabellen 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 tabel Klanten en sleep deze naar het linkerdeelvenster van de ontwerper. Klik op de tabel Orders en sleep deze naar het linkerpaneel van de ontwerper.
De ontwerpfunctie maakt nieuwe
CustomerenOrderobjecten voor uw project. U ziet dat de ontwerper automatisch relaties tussen de tabellen detecteert en onderliggende eigenschappen voor gerelateerde objecten maakt. IntelliSense laat bijvoorbeeld zien dat hetCustomerobject eenOrderseigenschap heeft voor alle orders die aan die klant zijn gerelateerd.Sla uw wijzigingen op en sluit de ontwerpfunctie.
Sla uw project op.
Code toevoegen om een query uit te voeren op de database en de resultaten weer te geven
Sleep vanuit de Toolboxeen DataGridView controle op de standaard Windows Form voor uw project, Form1.
Dubbelklik op Form1 om code toe te voegen aan de
Loadgebeurtenis van het formulier.Wanneer u tabellen aan O/R Designer hebt toegevoegd, heeft de ontwerper een DataContext-object toegevoegd voor uw project. Dit object bevat de code die u nodig hebt voor toegang tot deze tabellen, naast afzonderlijke objecten en verzamelingen voor elke tabel. Het DataContext-object voor uw 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 tabellen opvragen die zijn opgegeven door de O/R Designer.
Voeg de volgende code toe aan de
Loadgebeurtenis om een query uit te voeren op de tabellen die worden weergegeven als eigenschappen van uw gegevenscontext.Dim db As New northwindDataContext Dim londonCusts = From cust In db.Customers Where cust.City = "London" Select cust DataGridView1.DataSource = londonCustsDruk op F5 om uw project uit te voeren en de resultaten weer te geven.
Hier volgen enkele extra query's die u kunt proberen:
Dim londonCustOrders = From cust In db.Customers, ord In cust.Orders Where cust.City = "London" Order By ord.OrderID Select cust.City, ord.OrderID, ord.OrderDate DataGridView1.DataSource = londonCustOrdersDim custs = From cust In db.Customers Where cust.Country = "France" And (cust.CompanyName.StartsWith("F") Or cust.CompanyName.StartsWith("V")) Order By cust.CompanyName Select cust.CompanyName, cust.City DataGridView1.DataSource = custs