Share via


Inleiding tot LINQ in Visual Basic

Language-Integrated Query (LINQ) voegt querymogelijkheden toe aan Visual Basic en biedt eenvoudige en krachtige mogelijkheden wanneer u met allerlei soorten gegevens werkt. In plaats van een query naar een database te verzenden om te worden verwerkt of met verschillende querysyntaxis te werken voor elk type gegevens waarnaar u zoekt, introduceert LINQ query's als onderdeel van de Visual Basic-taal. Er wordt een uniforme syntaxis gebruikt, ongeacht het type gegevens.

MET LINQ kunt u query's uitvoeren op gegevens uit een SQL Server-database, XML, in-memory matrices en verzamelingen, ADO.NET gegevenssets of een andere externe of lokale gegevensbron die LINQ ondersteunt. U kunt dit allemaal doen met algemene Visual Basic-taalelementen. Omdat uw query's zijn geschreven in de Visual Basic-taal, worden uw queryresultaten geretourneerd als sterk getypte objecten. Deze objecten ondersteunen IntelliSense, waarmee u sneller code kunt schrijven en fouten in uw query's kunt opsporen tijdens het compileren in plaats van tijdens runtime. LINQ-query's kunnen worden gebruikt als de bron van extra query's om resultaten te verfijnen. Ze kunnen ook worden gebonden aan besturingselementen, zodat gebruikers uw queryresultaten eenvoudig kunnen bekijken en wijzigen.

In het volgende codevoorbeeld ziet u bijvoorbeeld een LINQ-query die een lijst met klanten uit een verzameling retourneert en deze groepeert op basis van hun locatie.

' Obtain a list of customers.
Dim customers As List(Of Customer) = GetCustomers()

' Return customers that are grouped based on country.
Dim countries = From cust In customers
                Order By cust.Country, cust.City
                Group By CountryName = cust.Country
                Into CustomersInCountry = Group, Count()
                Order By CountryName

' Output the results.
For Each country In countries
    Debug.WriteLine(country.CountryName & " count=" & country.Count)

    For Each customer In country.CustomersInCountry
        Debug.WriteLine("   " & customer.CompanyName & "  " & customer.City)
    Next
Next

' Output:
'   Canada count=2
'      Contoso, Ltd  Halifax
'      Fabrikam, Inc.  Vancouver
'   United States count=1
'      Margie's Travel  Redmond

De voorbeelden uitvoeren

Als u de voorbeelden wilt uitvoeren in de inleiding en in de sectie Structuur van een LINQ-query , neemt u de volgende code op, die lijsten met klanten en orders retourneert.

' Return a list of customers.
Private Function GetCustomers() As List(Of Customer)
    Return New List(Of Customer) From
        {
            New Customer With {.CustomerID = 1, .CompanyName = "Contoso, Ltd", .City = "Halifax", .Country = "Canada"},
            New Customer With {.CustomerID = 2, .CompanyName = "Margie's Travel", .City = "Redmond", .Country = "United States"},
            New Customer With {.CustomerID = 3, .CompanyName = "Fabrikam, Inc.", .City = "Vancouver", .Country = "Canada"}
        }
End Function

' Return a list of orders.
Private Function GetOrders() As List(Of Order)
    Return New List(Of Order) From
        {
            New Order With {.CustomerID = 1, .Amount = "200.00"},
            New Order With {.CustomerID = 3, .Amount = "600.00"},
            New Order With {.CustomerID = 1, .Amount = "300.00"},
            New Order With {.CustomerID = 2, .Amount = "100.00"},
            New Order With {.CustomerID = 3, .Amount = "800.00"}
        }
End Function

' Customer Class.
Private Class Customer
    Public Property CustomerID As Integer
    Public Property CompanyName As String
    Public Property City As String
    Public Property Country As String
End Class

' Order Class.
Private Class Order
    Public Property CustomerID As Integer
    Public Property Amount As Decimal
End Class

LINQ-providers

Een LINQ-provider wijst uw Visual Basic LINQ-query's toe aan de gegevensbron die wordt opgevraagd. Wanneer u een LINQ-query schrijft, neemt de provider die query en vertaalt deze in opdrachten die door de gegevensbron kunnen worden uitgevoerd. De provider converteert ook gegevens van de bron naar de objecten waaruit uw queryresultaat bestaat. Ten slotte worden objecten geconverteerd naar gegevens wanneer u updates naar de gegevensbron verzendt.

Visual Basic bevat de volgende LINQ-providers.

Provider Beschrijving
LINQ naar objecten Met de LINQ-provider voor objecten kunt u query's uitvoeren op in-memory verzamelingen en matrices. Als een object ondersteuning biedt voor de IEnumerable of IEnumerable<T> interface, kunt u met de PROVIDER LINQ naar objecten query's uitvoeren.

U kunt de LINQ inschakelen naar de objectprovider door de System.Linq naamruimte te importeren. Deze wordt standaard geïmporteerd voor alle Visual Basic-projecten.

Zie LINQ naar objecten voor meer informatie over de LINQ-provider voor objecten.
LINQ naar SQL Met de LINQ naar SQL-provider kunt u gegevens in een SQL Server-database opvragen en wijzigen. Hierdoor kunt u het objectmodel voor een toepassing eenvoudig toewijzen aan de tabellen en objecten in een database.

Visual Basic maakt het eenvoudiger om met LINQ te werken met SQL door de Object Relational Designer (O/R Designer) op te geven. Deze ontwerpfunctie wordt gebruikt om een objectmodel te maken in een toepassing die wordt toegewezen aan objecten in een database. De O/R Designer biedt ook functionaliteit voor het toewijzen van opgeslagen procedures en functies aan het DataContext object, waarmee de communicatie met de database wordt beheerd en de status wordt opgeslagen voor optimistische gelijktijdigheidscontroles.

Zie LINQ naar SQL voor meer informatie over de LINQ naar SQL-provider. Zie LINQ naar SQL Tools in Visual Studio voor meer informatie over de Object Relational Designer.
LINQ naar XML Met de LINQ naar XML-provider kunt u XML opvragen en wijzigen. U kunt XML in het geheugen wijzigen of u kunt XML laden van en XML opslaan in een bestand.

Daarnaast maakt de LINQ naar XML-provider letterlijke XML- en XML-aseigenschappen mogelijk waarmee u XML rechtstreeks in uw Visual Basic-code kunt schrijven. Zie XML voor meer informatie.
LINQ naar DataSet Met de LINQ naar DataSet-provider kunt u gegevens opvragen en bijwerken in een ADO.NET gegevensset. U kunt de kracht van LINQ toevoegen aan toepassingen die gegevenssets gebruiken om uw mogelijkheden voor het uitvoeren van query's, aggregaties en het bijwerken van de gegevens in uw gegevensset te vereenvoudigen en uit te breiden.

Zie LINQ naar DataSet voor meer informatie.

Structuur van een LINQ-query

Een LINQ-query, ook wel een queryexpressie genoemd, bestaat uit een combinatie van querycomponenten die de gegevensbronnen en iteratievariabelen voor de query identificeren. Een query-expressie kan ook instructies bevatten voor sorteren, filteren, groeperen en samenvoegen of berekeningen die moeten worden toegepast op de brongegevens. De syntaxis van de query-expressie lijkt op de syntaxis van SQL; Daarom kunt u veel van de syntaxis bekend vinden.

Een query-expressie begint met een From component. Deze component identificeert de brongegevens voor een query en de variabelen die worden gebruikt om naar elk element van de brongegevens afzonderlijk te verwijzen. Deze variabelen zijn benoemde bereikvariabelen of iteratievariabelen. De From component is vereist voor een query, met uitzondering van Aggregate query's, waarbij de From component optioneel is. Nadat het bereik en de bron van de query zijn geïdentificeerd in de From of Aggregate componenten, kunt u elke combinatie van queryclausules opnemen om de query te verfijnen. Zie Visual Basic LINQ-queryoperators verderop in dit onderwerp voor meer informatie over queryclausules. De volgende query identificeert bijvoorbeeld een bronverzameling van klantgegevens als de variabele en een iteratievariabele met de customers naam cust.

Dim customers = GetCustomers()

Dim queryResults = From cust In customers

For Each result In queryResults
    Debug.WriteLine(result.CompanyName & "  " & result.Country)
Next

' Output:
'   Contoso, Ltd  Canada
'   Margie's Travel  United States
'   Fabrikam, Inc.  Canada

Dit voorbeeld is een geldige query op zichzelf; de query wordt echter veel krachtiger wanneer u meer queryclausules toevoegt om het resultaat te verfijnen. U kunt bijvoorbeeld een Where component toevoegen om het resultaat te filteren op een of meer waarden. Query-expressies zijn één regel code; u kunt gewoon extra queryclausules toevoegen aan het einde van de query. U kunt een query opsplitsen over meerdere regels tekst om de leesbaarheid te verbeteren met behulp van het onderstrepingsteken (_) lijnvervolgingsteken. In het volgende codevoorbeeld ziet u een voorbeeld van een query die een Where component bevat.

Dim queryResults = From cust In customers
                   Where cust.Country = "Canada"

Een andere krachtige querycomponent is de Select component, waarmee u alleen geselecteerde velden uit de gegevensbron kunt retourneren. LINQ-query's retourneren inventariserbare verzamelingen van sterk getypte objecten. Een query kan een verzameling anonieme typen of benoemde typen retourneren. U kunt de Select component gebruiken om slechts één veld uit de gegevensbron te retourneren. Wanneer u dit doet, is het type verzameling dat wordt geretourneerd het type van dat ene veld. U kunt de Select component ook gebruiken om meerdere velden uit de gegevensbron te retourneren. Wanneer u dit doet, is het type van de geretourneerde verzameling een nieuw anoniem type. U kunt de velden die door de query worden geretourneerd, ook vergelijken met de velden van een opgegeven benoemd type. In het volgende codevoorbeeld ziet u een query-expressie die een verzameling anonieme typen retourneert waarin leden gegevens uit de geselecteerde velden uit de gegevensbron hebben ingevuld.

Dim queryResults = From cust In customers
               Where cust.Country = "Canada"
               Select cust.CompanyName, cust.Country

LINQ-query's kunnen ook worden gebruikt om meerdere gegevensbronnen te combineren en één resultaat te retourneren. Dit kan worden gedaan met een of meer From componenten, of met behulp van de Join of Group Join query-componenten. In het volgende codevoorbeeld ziet u een query-expressie die klant- en ordergegevens combineert en een verzameling anonieme typen retourneert die klant- en ordergegevens bevatten.

Dim customers = GetCustomers()
Dim orders = GetOrders()

Dim queryResults = From cust In customers, ord In orders
           Where cust.CustomerID = ord.CustomerID
           Select cust, ord

For Each result In queryResults
    Debug.WriteLine(result.ord.Amount & "  " & result.ord.CustomerID & "  " & result.cust.CompanyName)
Next

' Output:
'   200.00  1  Contoso, Ltd
'   300.00  1  Contoso, Ltd
'   100.00  2  Margie's Travel
'   600.00  3  Fabrikam, Inc.
'   800.00  3  Fabrikam, Inc.

U kunt de Group Join component gebruiken om een hiërarchisch queryresultaat te maken dat een verzameling klantobjecten bevat. Elk klantobject heeft een eigenschap die een verzameling van alle orders voor die klant bevat. In het volgende codevoorbeeld ziet u een query-expressie waarin klant- en ordergegevens als hiërarchisch resultaat worden gecombineerd en een verzameling anonieme typen wordt geretourneerd. De query retourneert een type dat een CustomerOrders eigenschap bevat die een verzameling ordergegevens voor de klant bevat. Het bevat ook een OrderTotal eigenschap die de som van de totalen voor alle orders voor die klant bevat. (Deze query is gelijk aan een LEFT OUTER JOIN.)

Dim customers = GetCustomers()
Dim orders = GetOrders()

Dim queryResults = From cust In customers
                   Group Join ord In orders On
                     cust.CustomerID Equals ord.CustomerID
                     Into CustomerOrders = Group,
                          OrderTotal = Sum(ord.Amount)
                   Select cust.CompanyName, cust.CustomerID,
                          CustomerOrders, OrderTotal

For Each result In queryResults
    Debug.WriteLine(result.OrderTotal & "  " & result.CustomerID & "  " & result.CompanyName)
    For Each ordResult In result.CustomerOrders
        Debug.WriteLine("   " & ordResult.Amount)
    Next
Next

' Output:
'   500.00  1  Contoso, Ltd
'      200.00
'      300.00
'   100.00  2  Margie's Travel
'      100.00
'   1400.00  3  Fabrikam, Inc.
'      600.00
'      800.00

Er zijn verschillende extra LINQ-queryoperators die u kunt gebruiken om krachtige query-expressies te maken. In de volgende sectie van dit onderwerp worden de verschillende queryclausules besproken die u in een query-expressie kunt opnemen. Zie Query's voor meer informatie over Visual Basic-queryclausules.

Visual Basic LINQ-queryoperators

De klassen in de System.Linq naamruimte en de andere naamruimten die LINQ-query's ondersteunen, bevatten methoden die u kunt aanroepen om query's te maken en verfijnen op basis van de behoeften van uw toepassing. Visual Basic bevat trefwoorden voor de volgende algemene querycomponenten. Zie Query's voor meer informatie over Visual Basic-queryclausules.

Van component

From Een component of een Aggregate component is vereist om een query te starten. Een From component geeft een bronverzameling en een iteratievariabele voor een query op. Voorbeeld:

' Returns the company name for all customers for which
' the Country is equal to "Canada".
Dim names = From cust In customers
            Where cust.Country = "Canada"
            Select cust.CompanyName

SELECT-component

Optioneel. Een Select component declareert een set iteratievariabelen voor een query. Voorbeeld:

' Returns the company name and ID value for each
' customer as a collection of a new anonymous type.
Dim customerList = From cust In customers
                   Select cust.CompanyName, cust.CustomerID

Als er Select geen component is opgegeven, bestaan de iteratievariabelen voor de query uit de iteratievariabelen die zijn opgegeven door de From of Aggregate component.

Where-component

Optioneel. Een Where component specificeert een filtervoorwaarde voor een query. Voorbeeld:

' Returns all product names for which the Category of
' the product is "Beverages".
Dim names = From product In products
            Where product.Category = "Beverages"
            Select product.Name

Order by-component

Optioneel. Een Order By component specificeert de sorteervolgorde voor kolommen in een query. Voorbeeld:

' Returns a list of books sorted by price in 
' ascending order.
Dim titlesAscendingPrice = From b In books
                           Order By b.price

Join-component

Optioneel. Een Join component combineert twee verzamelingen in één verzameling. Voorbeeld:

' Returns a combined collection of all of the 
' processes currently running and a descriptive
' name for the process taken from a list of 
' descriptive names.
Dim processes = From proc In Process.GetProcesses
                Join desc In processDescriptions
                  On proc.ProcessName Equals desc.ProcessName
                Select proc.ProcessName, proc.Id, desc.Description

Group By-component

Optioneel. Met Group By een component worden de elementen van een queryresultaat gegroepeerd. Deze kan worden gebruikt om statistische functies toe te passen op elke groep. Voorbeeld:

' Returns a list of orders grouped by the order date
' and sorted in ascending order by the order date.
Dim orderList = From order In orders
                Order By order.OrderDate
                Group By OrderDate = order.OrderDate
                Into OrdersByDate = Group

Groepsdeelnamecomponent

Optioneel. Een Group Join component combineert twee verzamelingen in één hiërarchische verzameling. Voorbeeld:

' Returns a combined collection of customers and
' customer orders.
Dim customerList = From cust In customers
                   Group Join ord In orders On
                     cust.CustomerID Equals ord.CustomerID
                   Into CustomerOrders = Group,
                        TotalOfOrders = Sum(ord.Amount)
                   Select cust.CompanyName, cust.CustomerID,
                          CustomerOrders, TotalOfOrders

Samenvoegingscomponent

Aggregate Een component of een From component is vereist om een query te starten. Een Aggregate component past een of meer statistische functies toe op een verzameling. U kunt bijvoorbeeld de Aggregate component gebruiken om een som te berekenen voor alle elementen die door een query worden geretourneerd, zoals in het volgende voorbeeld.

' Returns the sum of all order amounts.
Dim orderTotal = Aggregate order In orders
                 Into Sum(order.Amount)

U kunt de Aggregate component ook gebruiken om een query te wijzigen. U kunt de component bijvoorbeeld gebruiken Aggregate om een berekening uit te voeren voor een gerelateerde queryverzameling. Voorbeeld:

' Returns the customer company name and largest 
' order amount for each customer.
Dim customerMax = From cust In customers
                  Aggregate order In cust.Orders
                  Into MaxOrder = Max(order.Amount)
                  Select cust.CompanyName, MaxOrder

Let-component

Optioneel. Een Let component berekent een waarde en wijst deze toe aan een nieuwe variabele in de query. Voorbeeld:

' Returns a list of products with a calculation of
' a ten percent discount.
Dim discountedProducts = From prod In products
                         Let Discount = prod.UnitPrice * 0.1
                         Where Discount >= 50
                         Select prod.Name, prod.UnitPrice, Discount

Afzonderlijke component

Optioneel. Een Distinct component beperkt de waarden van de huidige iteratievariabele om dubbele waarden in queryresultaten te elimineren. Voorbeeld:

' Returns a list of cities with no duplicate entries.
Dim cities = From item In customers
             Select item.City
             Distinct

Component Overslaan

Optioneel. Een Skip component omzeilt een opgegeven aantal elementen in een verzameling en retourneert vervolgens de resterende elementen. Voorbeeld:

' Returns a list of customers. The first 10 customers
' are ignored and the remaining customers are
' returned.
Dim customerList = From cust In customers
                   Skip 10

Overslaan tijdens component

Optioneel. Een Skip While component omzeilt elementen in een verzameling zolang een opgegeven voorwaarde is true en retourneert vervolgens de resterende elementen. Voorbeeld:

' Returns a list of customers. The query ignores all
' customers until the first customer for whom
' IsSubscriber returns false. That customer and all
' remaining customers are returned.
Dim customerList = From cust In customers
                   Skip While IsSubscriber(cust)

Take-component

Optioneel. Een Take component retourneert een opgegeven aantal aaneengesloten elementen vanaf het begin van een verzameling. Voorbeeld:

' Returns the first 10 customers.
Dim customerList = From cust In customers
                   Take 10

Component Take While

Optioneel. Een Take While component bevat elementen in een verzameling zolang een opgegeven voorwaarde is true en omzeilt de resterende elementen. Voorbeeld:

' Returns a list of customers. The query returns
' customers until the first customer for whom 
' HasOrders returns false. That customer and all 
' remaining customers are ignored.
Dim customersWithOrders = From cust In customers
                          Order By cust.Orders.Count Descending
                          Take While HasOrders(cust)

Aanvullende LINQ-queryfuncties gebruiken

U kunt extra LINQ-queryfuncties gebruiken door leden van de enumerable en queryable typen aan te roepen die worden geleverd door LINQ. U kunt deze extra mogelijkheden gebruiken door een bepaalde queryoperator aan te roepen op het resultaat van een query-expressie. In het volgende voorbeeld wordt bijvoorbeeld de Enumerable.Union methode gebruikt om de resultaten van twee query's te combineren tot één queryresultaat. De methode wordt gebruikt Enumerable.ToList om het queryresultaat als een algemene lijst te retourneren.

Public Function GetAllCustomers() As List(Of Customer)
    Dim customers1 = From cust In domesticCustomers
    Dim customers2 = From cust In internationalCustomers

    Dim customerList = customers1.Union(customers2)

    Return customerList.ToList()
End Function

Zie Overzicht van Standard-queryoperators voor meer informatie over aanvullende LINQ-mogelijkheden.

Verbinding maken naar een database met behulp van LINQ naar SQL

In Visual Basic identificeert u de SQL Server-databaseobjecten, zoals tabellen, weergaven en opgeslagen procedures, die u wilt openen met behulp van een LINQ naar een SQL-bestand. Een LINQ naar SQL-bestand heeft de extensie .dbml.

Wanneer u een geldige verbinding met een SQL Server-database hebt, kunt u een LINQ toevoegen aan de itemsjabloon SQL-klassen aan uw project. Hiermee wordt de Object Relational Designer (O/R Designer) weergegeven. Met O/R Designer kunt u de items die u in uw code wilt openen vanuit Server Explorer/Database Explorer naar het ontwerpoppervlak slepen. Met het LINQ-bestand aan SQL-bestand wordt een DataContext object aan uw project toegevoegd. Dit object bevat eigenschappen en verzamelingen voor de tabellen en weergaven waartoe u toegang wilt, en methoden voor de opgeslagen procedures die u wilt aanroepen. Nadat u de wijzigingen in het LINQ-bestand hebt opgeslagen in het SQL-bestand (.dbml), hebt u toegang tot deze objecten in uw code door te verwijzen naar het DataContext object dat is gedefinieerd door de O/R Designer. Het DataContext object voor uw project heeft een naam op basis van de naam van uw LINQ naar SQL-bestand. Een LINQ naar sql-bestand met de naam Northwind.dbml maakt bijvoorbeeld een object met de DataContext naam NorthwindDataContext.

Zie Procedure voor voorbeelden met stapsgewijze instructies : Een query uitvoeren op een database en procedures: een opgeslagen procedure aanroepen.

Visual Basic-functies die LINQ ondersteunen

Visual Basic bevat andere belangrijke functies die het gebruik van LINQ eenvoudig maken en de hoeveelheid code beperken die u moet schrijven om LINQ-query's uit te voeren. Dit zijn onder meer de volgende:

  • Anonieme typen, waarmee u een nieuw type kunt maken op basis van een queryresultaat.

  • Impliciet getypte variabelen, waarmee u het opgeven van een type kunt uitstellen en de compiler het type laat afleiden op basis van het queryresultaat.

  • Met extensiemethoden kunt u een bestaand type uitbreiden met uw eigen methoden zonder het type zelf te wijzigen.

Zie Visual Basic-functies die LINQ ondersteunen voor meer informatie.

Uitgestelde en onmiddellijke uitvoering van query's

De uitvoering van query's staat los van het maken van een query. Nadat een query is gemaakt, wordt de uitvoering geactiveerd door een afzonderlijk mechanisme. Een query kan worden uitgevoerd zodra deze is gedefinieerd (onmiddellijke uitvoering) of de definitie kan worden opgeslagen en de query kan later worden uitgevoerd (uitgestelde uitvoering).

Wanneer u een query maakt, wordt de query standaard niet onmiddellijk uitgevoerd. In plaats daarvan wordt de querydefinitie opgeslagen in de variabele die wordt gebruikt om te verwijzen naar het queryresultaat. Wanneer de queryresultaatvariabele later in code wordt geopend, zoals in een For…Next lus, wordt de query uitgevoerd. Dit proces wordt de uitgestelde uitvoering genoemd.

Query's kunnen ook worden uitgevoerd wanneer ze zijn gedefinieerd, wat wordt aangeduid als onmiddellijke uitvoering. U kunt onmiddellijke uitvoering activeren door een methode toe te passen die toegang vereist tot afzonderlijke elementen van het queryresultaat. Dit kan het resultaat zijn van het opnemen van een statistische functie, zoals , , , of MaxMin. AverageSumCount Zie Aggregate Clause voor meer informatie over statistische functies.

Het gebruik van de ToList of ToArray methoden dwingt ook onmiddellijke uitvoering af. Dit kan handig zijn wanneer u de query onmiddellijk wilt uitvoeren en de resultaten in de cache wilt opslaan. Zie Gegevenstypen converteren voor meer informatie over deze methoden.

Zie Uw eerste LINQ-query schrijven voor meer informatie over het uitvoeren van query's.

XML in Visual Basic

De XML-functies in Visual Basic bevatten letterlijke XML-waarden en EIGENSCHAPPEN van XML-as, waarmee u eenvoudig XML in uw code kunt maken, openen, opvragen en wijzigen. Met LETTERLIJKE XML-gegevens kunt u XML rechtstreeks in uw code schrijven. De Visual Basic-compiler behandelt de XML als een eersteklas gegevensobject.

In het volgende codevoorbeeld ziet u hoe u een XML-element maakt, toegang krijgt tot de subelementen en kenmerken en hoe u een query uitvoert op de inhoud van het element met behulp van LINQ.

' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">

Module Sample1

    Sub SampleTransform()

        ' Create test by using a global XML namespace prefix.

        Dim contact =
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        Dim phoneTypes =
          <phoneTypes>
              <%= From phone In contact.<ns:phone>
                  Select <type><%= phone.@ns:type %></type>
              %>
          </phoneTypes>

        Console.WriteLine(phoneTypes)
    End Sub

End Module

Zie XML voor meer informatie.

Onderwerp Beschrijving
XML Beschrijft de XML-functies in Visual Basic die kunnen worden opgevraagd en waarmee u XML kunt opnemen als eersteklas gegevensobjecten in uw Visual Basic-code.
Query's Biedt naslaginformatie over de querycomponenten die beschikbaar zijn in Visual Basic.
LINQ (Language-Integrated Query) Bevat algemene informatie, programmeerrichtlijnen en voorbeelden voor LINQ.
LINQ naar SQL Bevat algemene informatie, programmeerrichtlijnen en voorbeelden voor LINQ naar SQL.
LINQ naar objecten Bevat algemene informatie, programmeerrichtlijnen en voorbeelden voor LINQ naar objecten.
LINQ naar ADO.NET (portalpagina) Bevat koppelingen naar algemene informatie, programmeerrichtlijnen en voorbeelden voor LINQ naar ADO.NET.
LINQ naar XML Bevat algemene informatie, programmeerrichtlijnen en voorbeelden voor LINQ naar XML.

How to and walkthrough topics

Procedure: Een query uitvoeren op een database

Procedure: Een opgeslagen procedure aanroepen

Procedure: Gegevens in een database wijzigen

Procedure: Gegevens combineren met joins

Procedure: Queryresultaten sorteren

Procedure: Queryresultaten filteren

Procedure: Aantal, Som of Gemiddelde gegevens

Procedure: De minimum- of maximumwaarde zoeken in een queryresultaat

Procedure: Opgeslagen procedures toewijzen om updates, invoegingen en verwijderingen uit te voeren (O/R Designer)

Hoofdstuk 17: LINQ in Visual Basic 2008 programmeren

Zie ook