Představení technologie LINQ v jazyce Visual Basic

Jazykově integrovaný dotaz (LINQ) přidává funkce dotazů do jazyka Visual Basic a poskytuje jednoduché a výkonné funkce při práci se všemi druhy dat. Místo odeslání dotazu do databáze, která se má zpracovat, nebo práci s jinou syntaxí dotazu pro každý typ dat, která hledáte, LINQ zavádí dotazy jako součást jazyka Visual Basic. Používá jednotnou syntaxi bez ohledu na typ dat.

LINQ umožňuje dotazovat se na data z databáze SQL Serveru, XML, polí a kolekcí v paměti, ADO.NET datových sad nebo jakéhokoli jiného vzdáleného nebo místního zdroje dat, který podporuje LINQ. To všechno můžete provést pomocí běžných elementů jazyka Visual Basic. Vzhledem k tomu, že dotazy jsou napsané v jazyce Visual Basic, vrátí se výsledky dotazu jako objekty silného typu. Tyto objekty podporují Technologii IntelliSense, která umožňuje psát kód rychleji a zachytit chyby v dotazech v době kompilace místo za běhu. Dotazy LINQ lze použít jako zdroj dalších dotazů k upřesnění výsledků. Mohou být také vázány na ovládací prvky, aby uživatelé mohli snadno zobrazit a upravit výsledky dotazu.

Následující příklad kódu například ukazuje dotaz LINQ, který vrátí seznam zákazníků z kolekce a seskupí je na základě jejich umístění.

' 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

Spuštění příkladů

Pokud chcete spustit příklady v úvodu a v části Struktura dotazu LINQ, uveďte následující kód, který vrací seznamy zákazníků a objednávek.

' 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

Zprostředkovatelé LINQ

Zprostředkovatel LINQ mapuje dotazy JAZYKA LINQ jazyka Visual Basic na dotazovaný zdroj dat. Když napíšete dotaz LINQ, poskytovatel tento dotaz vezme a přeloží ho na příkazy, které bude možné spustit zdroj dat. Zprostředkovatel také převede data ze zdroje na objekty, které tvoří výsledek dotazu. Nakonec při odesílání aktualizací do zdroje dat převede objekty na data.

Visual Basic obsahuje následující zprostředkovatele LINQ.

Poskytovatel Popis
LINQ na objekty Zprostředkovatel LINQ to Objects umožňuje dotazovat kolekce a pole v paměti. Pokud objekt podporuje buď objekt, IEnumerable nebo IEnumerable<T> rozhraní, umožňuje zprostředkovatel LINQ to Objects dotazovat.

Zprostředkovatele LINQ to Objects můžete povolit importem System.Linq oboru názvů, který se ve výchozím nastavení importuje pro všechny projekty jazyka Visual Basic.

Další informace o zprostředkovateli LINQ to Objects naleznete v tématu LINQ to Objects.
Technologie LINQ to SQL Zprostředkovatel LINQ to SQL umožňuje dotazovat a upravovat data v databázi SQL Serveru. To usnadňuje mapování objektového modelu aplikace na tabulky a objekty v databázi.

Visual Basic usnadňuje práci s LINQ to SQL zahrnutím Návrhář relací objektů (Návrhář relací objektů). Tento návrhář se používá k vytvoření objektového modelu v aplikaci, která se mapuje na objekty v databázi. Návrhář relací poskytuje také funkce pro mapování uložených procedur a funkcí na DataContext objekt, který spravuje komunikaci s databází a ukládá stav pro optimistické kontroly souběžnosti.

Další informace o zprostředkovateli LINQ to SQL naleznete v tématu LINQ to SQL. Další informace o Návrhář relací objektů naleznete v tématu LINQ to SQL Tools v sadě Visual Studio.
LINQ to XML Zprostředkovatel LINQ to XML umožňuje dotazovat a upravovat XML. Můžete upravit XML v paměti nebo můžete načíst XML ze souboru a uložit ho do souboru.

Kromě toho zprostředkovatel LINQ to XML umožňuje literály XML a vlastnosti osy XML, které umožňují psát XML přímo v kódu jazyka Visual Basic. Další informace najdete v tématu XML.
LINQ to DataSet Zprostředkovatel LINQ to DataSet umožňuje dotazovat a aktualizovat data v datové sadě ADO.NET. Výkon LINQ můžete přidat do aplikací, které používají datové sady, aby se zjednodušily a rozšířily možnosti pro dotazování, agregaci a aktualizaci dat v datové sadě.

Další informace naleznete v tématu LINQ to DataSet.

Struktura dotazu LINQ

Dotaz LINQ, často označovaný jako výraz dotazu, se skládá z kombinace klauzulí dotazu, které identifikují zdroje dat a proměnné iterace pro dotaz. Výraz dotazu může obsahovat také pokyny pro řazení, filtrování, seskupování a spojování nebo výpočty, které se mají použít u zdrojových dat. Syntaxe výrazů dotazu se podobá syntaxi JAZYKa SQL; proto můžete najít většinu známé syntaxe.

Výraz dotazu začíná klauzulí From . Tato klauzule identifikuje zdrojová data pro dotaz a proměnné, které slouží k odkazování na jednotlivé prvky zdrojových dat jednotlivě. Tyto proměnné jsou pojmenované proměnné rozsahu nebo iterační proměnné. Klauzule From se vyžaduje pro dotaz, s výjimkou Aggregate dotazů, kde From je klauzule nepovinná. Po určení oboru a zdroje dotazu v From klauzulích nebo Aggregate klauzulích můžete zahrnout libovolnou kombinaci klauzulí dotazu, které dotaz zpřesní. Podrobnosti o klauzulích dotazu naleznete v tématu Visual Basic LINQ Query Operators dále v tomto tématu. Například následující dotaz identifikuje zdrojovou kolekci zákaznických dat jako customers proměnnou a iterační proměnnou s názvem 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

Tento příklad je platným dotazem sám o sobě; Dotaz se ale stává mnohem výkonnější, když přidáte další klauzule dotazu, aby se výsledek zpřesní. Můžete například přidat Where klauzuli pro filtrování výsledku podle jedné nebo více hodnot. Výrazy dotazu jsou jedním řádkem kódu; Na konec dotazu můžete přidat jenom další klauzule dotazu. Dotaz můžete rozdělit mezi více řádky textu, abyste zlepšili čitelnost pomocí znaku pro pokračování řádku podtržítkem (_). Následující příklad kódu ukazuje příklad dotazu, který obsahuje Where klauzuli.

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

Další výkonnou klauzulí dotazu je Select klauzule, která umožňuje vrátit pouze vybraná pole ze zdroje dat. Dotazy LINQ vrací výčtové kolekce objektů silného typu. Dotaz může vrátit kolekci anonymních typů nebo pojmenovaných typů. Klauzuli Select můžete použít k vrácení pouze jednoho pole ze zdroje dat. Když to uděláte, typ vrácené kolekce je typ tohoto jednoho pole. Klauzuli Select můžete také použít k vrácení více polí ze zdroje dat. Když to uděláte, typ vrácené kolekce je nový anonymní typ. Pole vrácená dotazem můžete také spárovat s poli zadaného pojmenovaného typu. Následující příklad kódu ukazuje výraz dotazu, který vrací kolekci anonymních typů, které mají členy naplněné daty z vybraných polí ze zdroje dat.

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

Dotazy LINQ lze také použít ke kombinování více zdrojů dat a vrácení jednoho výsledku. To lze provést pomocí jedné nebo více From klauzulí nebo pomocí Join klauzulí dotazu Group Join . Následující příklad kódu ukazuje výraz dotazu, který kombinuje data zákazníků a objednávek a vrací kolekci anonymních typů obsahujících data zákazníků a objednávek.

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.

Klauzuli Group Join můžete použít k vytvoření hierarchického výsledku dotazu, který obsahuje kolekci objektů zákazníka. Každý objekt zákazníka má vlastnost, která obsahuje kolekci všech objednávek pro daného zákazníka. Následující příklad kódu ukazuje výraz dotazu, který kombinuje data zákazníků a objednávek jako hierarchický výsledek a vrací kolekci anonymních typů. Dotaz vrátí typ, který obsahuje CustomerOrders vlastnost, která obsahuje kolekci dat objednávek pro zákazníka. Obsahuje také OrderTotal vlastnost, která obsahuje součet součtů pro všechny objednávky daného zákazníka. (Tento dotaz je ekvivalentem LEVÉHO VNĚJŠÍHO SPOJENÍ.)

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

Existuje několik dalších operátorů dotazu LINQ, které můžete použít k vytvoření výkonných výrazů dotazu. Další část tohoto tématu popisuje různé klauzule dotazu, které můžete zahrnout do výrazu dotazu. Podrobnosti o klauzulích dotazu jazyka Visual Basic najdete v tématu Dotazy.

Operátory dotazu LINQ jazyka Visual Basic

Třídy v System.Linq oboru názvů a další obory názvů, které podporují dotazy LINQ, zahrnují metody, které můžete volat k vytváření a upřesňování dotazů na základě potřeb vaší aplikace. Visual Basic obsahuje klíčová slova pro následující běžné klauzule dotazu. Podrobnosti o klauzulích dotazu jazyka Visual Basic najdete v tématu Dotazy.

Klauzule From

From K zahájení dotazu se vyžaduje klauzule nebo Aggregate klauzule. From Klauzule určuje zdrojovou kolekci a proměnnou iterace pro dotaz. Příklad:

' 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 – klauzule

Nepovinné. Select Klauzule deklaruje sadu proměnných iterace pro dotaz. Příklad:

' 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

Select Pokud není zadaná klauzule, iterační proměnné pro dotaz se skládají z proměnných iterace určených From klauzulí nebo Aggregate klauzulí.

Klauzule Where

Nepovinné. Klauzule Where určuje podmínku filtrování dotazu. Příklad:

' 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

Klauzule Order By

Nepovinné. Klauzule Order By určuje pořadí řazení sloupců v dotazu. Příklad:

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

Join – klauzule

Nepovinné. Join Klauzule kombinuje dvě kolekce do jedné kolekce. Příklad:

' 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 – klauzule

Nepovinné. Klauzule Group By seskupí prvky výsledku dotazu. Dá se použít k použití agregačních funkcí pro každou skupinu. Příklad:

' 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

Group Join – klauzule

Nepovinné. Group Join Klauzule kombinuje dvě kolekce do jedné hierarchické kolekce. Příklad:

' 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

Aggregate – klauzule

Aggregate K zahájení dotazu se vyžaduje klauzule nebo From klauzule. Klauzule Aggregate aplikuje na kolekci jednu nebo více agregačních funkcí. Klauzuli Aggregate můžete například použít k výpočtu součtu pro všechny prvky vrácené dotazem, jak je znázorněno v následujícím příkladu.

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

Klauzuli Aggregate můžete také použít k úpravě dotazu. Klauzuli Aggregate můžete například použít k provedení výpočtu související kolekce dotazů. Příklad:

' 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 – klauzule

Nepovinné. Let Klauzule vypočítá hodnotu a přiřadí ji k nové proměnné v dotazu. Příklad:

' 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

Distinct – klauzule

Nepovinné. Distinct Klauzule omezuje hodnoty aktuální proměnné iterace tak, aby eliminovaly duplicitní hodnoty ve výsledcích dotazu. Příklad:

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

Skip – klauzule

Nepovinné. Skip Klauzule obchází zadaný počet prvků v kolekci a vrátí zbývající prvky. Příklad:

' 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

Skip While – klauzule

Nepovinné. Klauzule Skip While obchází prvky v kolekci, pokud je true zadaná podmínka a vrátí zbývající prvky. Příklad:

' 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 – klauzule

Nepovinné. Take Klauzule vrátí zadaný počet souvislých prvků od začátku kolekce. Příklad:

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

Take While – klauzule

Nepovinné. Take While Klauzule obsahuje prvky v kolekci, pokud je true zadaná podmínka a obchází zbývající prvky. Příklad:

' 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)

Použití dalších funkcí dotazů LINQ

Další funkce dotazu LINQ můžete použít voláním členů výčtu a dotazovatelných typů poskytovaných LINQ. Tyto další funkce můžete použít voláním konkrétního operátoru dotazu na výsledek výrazu dotazu. Následující příklad například používá metodu Enumerable.Union ke kombinování výsledků dvou dotazů do jednoho výsledku dotazu. Pomocí Enumerable.ToList metody vrátí výsledek dotazu jako obecný seznam.

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

Podrobnosti o dalších funkcích LINQ najdete v tématu Přehled operátorů standardních dotazů.

Připojení do databáze pomocí LINQ to SQL

V jazyce Visual Basic identifikujete databázové objekty SQL Serveru, jako jsou tabulky, zobrazení a uložené procedury, ke kterým chcete získat přístup pomocí souboru LINQ to SQL. Soubor LINQ to SQL má příponu .dbml.

Pokud máte platné připojení k databázi SQL Serveru, můžete do projektu přidat šablonu položky třídy LINQ to SQL . Zobrazí se Návrhář relací objektů (návrhář relací objektů). Návrhář relací umožňuje přetáhnout položky, ke kterým chcete získat přístup v kódu z Průzkumníka databáze serveru/, na plochu návrháře. Soubor LINQ to SQL přidá DataContext do projektu objekt. Tento objekt obsahuje vlastnosti a kolekce pro tabulky a zobrazení, ke kterým chcete získat přístup, a metody pro uložené procedury, které chcete volat. Po uložení změn v souboru LINQ to SQL (.dbml) můžete k těmto objektům přistupovat ve svém kódu odkazováním DataContext na objekt definovaný návrhářem relací objektů. Objekt DataContext pro váš projekt se jmenuje na základě názvu souboru LINQ to SQL. Například soubor LINQ to SQL s názvem Northwind.dbml vytvoří DataContext objekt s názvem NorthwindDataContext.

Příklady s podrobnými pokyny najdete v tématu Postupy: Dotazování databáze a postupy: Volání uložené procedury.

Funkce jazyka Visual Basic, které podporují LINQ

Visual Basic obsahuje další nejdůležitější funkce, které usnadňují použití LINQ a snižují množství kódu, který musíte napsat k provádění dotazů LINQ. Patří mezi ně následující:

  • Anonymní typy, které umožňují vytvořit nový typ na základě výsledku dotazu.

  • Implicitně zadané proměnné, které umožňují odložit zadání typu a nechat kompilátor odvodit typ na základě výsledku dotazu.

  • Rozšiřující metody, které umožňují rozšířit existující typ vlastními metodami beze změny samotného typu.

Podrobnosti najdete v tématu Funkce jazyka Visual Basic, které podporují LINQ.

Odložené a okamžité spuštění dotazu

Provádění dotazu je oddělené od vytvoření dotazu. Po vytvoření dotazu se jeho spuštění aktivuje samostatným mechanismem. Dotaz lze spustit hned, jak je definován (okamžité spuštění), nebo lze definici uložit a dotaz lze spustit později (odložené spuštění).

Ve výchozím nastavení se při vytváření dotazu samotný dotaz nespustí okamžitě. Místo toho se definice dotazu uloží do proměnné, která slouží k odkazování na výsledek dotazu. Když se proměnná výsledku dotazu později v kódu, například ve For…Next smyčce, otevře se dotaz. Tento proces se označuje jako odložené spuštění.

Dotazy lze provést také při jejich definování, což se označuje jako okamžité spuštění. Okamžité spuštění můžete aktivovat použitím metody, která vyžaduje přístup k jednotlivým prvkům výsledku dotazu. Může to být výsledek zahrnutí agregační funkce, například Count, Sum, Average, Minnebo Max. Další informace o agregačních funkcích najdete v tématu Agregační klauzule.

ToList Použití metod nebo ToArray metod také vynutí okamžité spuštění. To může být užitečné, když chcete dotaz spustit okamžitě a uložit výsledky do mezipaměti. Další informace o těchto metodách naleznete v tématu Převod datových typů.

Další informace o provádění dotazů naleznete v tématu Zápis prvního dotazu LINQ.

XML v jazyce Visual Basic

Funkce XML v jazyce Visual Basic zahrnují literály XML a vlastnosti osy XML, které umožňují snadno vytvářet, přistupovat k nim, dotazovat a upravovat XML ve vašem kódu. Literály XML umožňují psát XML přímo do kódu. Kompilátor jazyka Visual Basic považuje XML za objekt dat první třídy.

Následující příklad kódu ukazuje, jak vytvořit xml element, získat přístup k jeho dílčí prvky a atributy a dotazovat obsah elementu pomocí 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

Další informace najdete v tématu XML.

Téma Popis
XML Popisuje funkce XML v jazyce Visual Basic, které lze dotazovat a které umožňují zahrnout XML jako prvotřídní datové objekty do kódu jazyka Visual Basic.
Dotazy Poskytuje referenční informace o klauzulích dotazu, které jsou k dispozici v jazyce Visual Basic.
LINQ (jazykově integrovaný dotaz) Obsahuje obecné informace, pokyny k programování a ukázky pro LINQ.
LINQ to SQL Obsahuje obecné informace, pokyny k programování a ukázky pro LINQ to SQL.
LINQ to Objects Obsahuje obecné informace, pokyny k programování a ukázky pro LINQ to Objects.
LINQ to ADO.NET (stránka portálu) Obsahuje odkazy na obecné informace, pokyny k programování a ukázky pro LINQ to ADO.NET.
LINQ to XML Obsahuje obecné informace, pokyny k programování a ukázky pro LINQ to XML.

Postupy a názorná témata

Postupy: Dotazování databáze

Postupy: Volání uložené procedury

Postupy: Úprava dat v databázi

Postupy: Kombinování dat s spojeními

Postupy: Řazení výsledků dotazu

Postupy: Filtrování výsledků dotazu

Postupy: Počet, součet nebo průměr dat

Postupy: Vyhledání minimální nebo maximální hodnoty ve výsledku dotazu

Postupy: Přiřazení uložených procedur za účelem aktualizací, vkládání a odstraňování (Návrhář relací objektů)

Kapitola 17: LINQ in Programming Visual Basic 2008

Viz také