Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Language-Integrated Query (LINQ) přidává možnosti 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 LINQ ve Visual Basic na zdroj dat, na který se dotazuje. 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 to Objects | Zprostředkovatel LINQ to Objects umožňuje dotazovat kolekce a pole v paměti. Pokud objekt podporuje buď rozhraní IEnumerable, nebo IEnumerable<T>, zprostředkovatel LINQ to Objects umožňuje dotazování na něj. 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. |
| 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áře relací objektů (Návrhář relací objektů). Tento designér se používá k vytvoření objektového modelu v aplikaci, která odpovídá objektům 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áři relačních 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, výsledkem je, že 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
Buď klauzule From nebo klauzule Aggregate je vyžadována k zahájení dotazu.
From Klauzule určuje zdrojovou kolekci a proměnnou iterace pro dotaz. Napří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
Klauzule výběru
Volitelný.
Select Klauzule deklaruje sadu proměnných iterace pro dotaz. Napří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í.
Kde klauzule
Volitelný.
KlauzuleWhere určuje podmínku filtrování dotazu. Napří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“
Volitelný.
KlauzuleOrder By určuje pořadí řazení sloupců v dotazu. Například:
' Returns a list of books sorted by price in
' ascending order.
Dim titlesAscendingPrice = From b In books
Order By b.price
Příkaz JOIN
Volitelný.
Join Klauzule kombinuje dvě kolekce do jedné kolekce. Napří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
Klauzule Group By
Volitelný.
KlauzuleGroup By seskupí prvky výsledku dotazu. Dá se použít k použití agregačních funkcí pro každou skupinu. Napří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
Klauzule Group Join
Volitelný.
Group Join Klauzule kombinuje dvě kolekce do jedné hierarchické kolekce. Napří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
Agregační klauzule
Buď klauzule Aggregate, nebo klauzule From je vyžadována k zahájení dotazu. 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ů. Napří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
Volitelný.
Let Klauzule vypočítá hodnotu a přiřadí ji k nové proměnné v dotazu. Napří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
Jedinečná klauzule
Volitelný.
Distinct Klauzule omezuje hodnoty aktuální proměnné iterace tak, aby eliminovaly duplicitní hodnoty ve výsledcích dotazu. Například:
' Returns a list of cities with no duplicate entries.
Dim cities = From item In customers
Select item.City
Distinct
Skip – klauzule
Volitelný.
Skip Klauzule obchází zadaný počet prvků v kolekci a vrátí zbývající prvky. Napří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
Volitelný. Klauzule obchází prvky v kolekci, dokud je zadaná podmínka Skip While, a poté vrátí zbývající prvky. Napří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)
Klauzule Take
Volitelný.
Take Klauzule vrátí zadaný počet souvislých prvků od začátku kolekce. Například:
' Returns the first 10 customers.
Dim customerList = From cust In customers
Take 10
Klauzule "Take While"
Volitelný.
Take While Klauzule zahrnuje prvky v kolekci, pokud je splněna zadaná podmínka, a přeskočí zbývající prvky. Napří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 dotazů LINQ můžete využít použitím členů vyčíslitelných a dotazovací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í k databázi 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 LINQ to SQL Classes. Zobrazí se objektový relační návrhář (návrhář relací objektů). Návrhář objektově-relačního mapování vám umožňuje přetáhnout položky, ke kterým chcete získat přístup v kódu, z Průzkumníka serveru/Průzkumníka databáze na plochu návrháře. Soubor LINQ to SQL přidá objekt DataContext do vašeho projektu. 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ž je proměnná výsledku dotazu později v kódu, například ve For…Next smyčce, použita, dotaz je proveden. 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.
Použití metod ToList nebo ToArray 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.
Související prostředky
| 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: Volání uložených procedur
Postupy: Úprava dat v databázi
Postupy: Kombinování dat se 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
Jak: Přiřadit uložené procedury k provádění aktualizací, vložek a odstranění (Návrhář O/R)
Doporučené kapitoly knihy
Kapitola 17: LINQ in Programming Visual Basic 2008