Procedure: een LINQ-queryresultaat retourneren als een specifiek type (Visual Basic)
Language-Integrated Query (LINQ) maakt het eenvoudig om toegang te krijgen tot databasegegevens en query's uit te voeren. LINQ-query's retourneren standaard een lijst met objecten als anoniem type. U kunt ook opgeven dat een query een lijst met een specifiek type retourneert met behulp van de Select
component.
In het volgende voorbeeld ziet u hoe u een nieuwe toepassing maakt die query's uitvoert op een SQL Server-database en de resultaten projecteert als een specifiek benoemd type. Zie Anonieme typen en select-component voor meer informatie.
In de voorbeelden in dit onderwerp wordt de voorbeelddatabase Northwind gebruikt. Als u deze database niet op uw ontwikkelcomputer hebt, kunt u deze downloaden via het Microsoft Downloadcentrum. Zie Voorbeelddatabases downloaden voor instructies.
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 IDE (Personalizing the IDE) voor meer informatie.
Een verbinding met een database maken
Open Server Explorer/Database Explorer in Visual Studio door te klikken op Server Explorer Database Explorer/ in het menu Beeld.
Klik met de rechtermuisknop op Gegevens Verbinding maken ions in Server Explorer/Database Explorer en klik vervolgens op Verbinding maken ion 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 de optie Nieuw aan en klik vervolgens op Project. Selecteer Visual Basic Windows Forms Application als projecttype.
Klik in het menu Project op Nieuw item toevoegen. Selecteer de ITEMsjabloon LINQ naar SQL-klassen .
Noem het bestand
northwind.dbml
. Klik op Toevoegen. De Object Relational Designer (O/R Designer) wordt geopend voor het bestand northwind.dbml.
Tabellen toevoegen aan query's in O/R Designer
Vouw in Server Explorer/Database Explorer de 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 ontwerpfunctie.
De ontwerpfunctie maakt een nieuw
Customer
object voor uw project. U kunt een queryresultaat projecten als hetCustomer
type of als een type dat u maakt. Dit voorbeeld maakt een nieuw type in een latere procedure en projecteert een queryresultaat als dat type.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 werkset een DataGridView besturingselement naar het standaard Windows-formulier voor uw project, Form1.
Dubbelklik op Form1 om de klasse Form1 te wijzigen.
Voeg na de
End Class
instructie van de klasse Form1 de volgende code toe om eenCustomerInfo
type te maken voor het opslaan van de queryresultaten voor dit voorbeeld.Public Class CustomerInfo Public Property CompanyName As String Public Property ContactName As String End Class
Wanneer u tabellen hebt toegevoegd aan O/R Designer, heeft de ontwerper een DataContext object aan uw project toegevoegd. Dit object bevat de code die u nodig hebt voor toegang tot deze tabellen en voor toegang tot afzonderlijke objecten en verzamelingen voor elke tabel. Het DataContext object voor uw project heeft een naam op basis van de naam van uw .dbml-bestand. Voor dit project heeft het object de DataContext naam
northwindDataContext
.U kunt een exemplaar van de DataContext code maken en de tabellen opvragen die zijn opgegeven door de O/R Designer.
Voeg in het
Load
geval van de klasse Form1 de volgende code toe om een query uit te voeren op de tabellen die worden weergegeven als eigenschappen van uw gegevenscontext. MetSelect
de component van de query wordt een nieuwCustomerInfo
type gemaakt in plaats van een anoniem type voor elk item van het queryresultaat.Dim db As New northwindDataContext Dim customerList = From cust In db.Customers Where cust.CompanyName.StartsWith("L") Select New CustomerInfo With {.CompanyName = cust.CompanyName, .ContactName = cust.ContactName} DataGridView1.DataSource = customerList
Druk op F5 om uw project uit te voeren en de resultaten weer te geven.
Zie ook
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor