Postupy: Dotazování databáze pomocí LINQ (Visual Basic)
Language-Integrated Query (LINQ) usnadňuje přístup k informacím o databázi a spouštění dotazů.
Následující příklad ukazuje, jak vytvořit novou aplikaci, která provádí dotazy na databázi SQL Serveru.
Příklady v tomto článku používají ukázkovou databázi Northwind. Pokud chcete získat databázi, podívejte se na Stažení Ukázkových Databází.
Poznámka
Počítač může v následujících pokynech zobrazit různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Edice sady Visual Studio, kterou máte, a nastavení, která používáte, určují tyto prvky. Další informace najdete v tématu Přizpůsobeníintegrovaného vývojového prostředí (IDE).
Vytvoření připojení k databázi
V sadě Visual Studio otevřete průzkumníka serveru/Průzkumníka databáze kliknutím na Průzkumníka serveru/Průzkumníka databáze v nabídce Zobrazení.
Klepněte pravým tlačítkem myši Datová připojení v Průzkumník serveru/Průzkumník databáze a klepněte na tlačítko Přidat připojení.
Zadejte platné připojení k ukázkové databázi Northwind.
Přidání projektu, který obsahuje soubor LINQ to SQL
Ve Visual Studiu v nabídce soubor přejděte na Nový a potom klepněte na Projekt. Jako typ projektu vyberte Visual Basic aplikaci Windows Forms .
V nabídce Project klikněte na Přidat novou položku. Vyberte položku šablony LINQ to SQL Třídy.
Pojmenujte soubor
northwind.dbml
. Klikněte na Přidat. Objektový relační návrhář (O/R Designer) je otevřen pro soubor northwind.dbml.
Přidání tabulek pro dotaz do Návrháře relací objektů
V Průzkumník serveru/Průzkumník databázerozbalte připojení k databázi Northwind. Rozbalte složku Tabulky.
Pokud jste návrhář relací zavřeli, můžete ho znovu otevřít poklikáním na soubor northwind.dbml, který jste přidali dříve.
Klikněte na tabulku Zákazníci a přetáhněte ji do levého panelu návrháře. Klikněte na tabulku Objednávky a přetáhněte ji do levého podokna editoru.
Návrhář pro váš projekt vytvoří nové
Customer
aOrder
objekty. Všimněte si, že návrhář automaticky rozpozná relace mezi tabulkami a vytvoří podřízené vlastnosti pro související objekty. IntelliSense například zobrazí, že objektCustomer
má vlastnostOrders
pro všechny objednávky související s tímto zákazníkem.Uložte změny a zavřete návrháře.
Uložte projekt.
Přidání kódu pro dotazování databáze a zobrazení výsledků
Ze Panelu nástrojůpřetáhněte ovládací prvek DataGridView do výchozího formuláře Windows Form pro váš projekt Form1.
Poklikáním na Form1 přidáte kód do
Load
události formuláře.Po přidání tabulek do O/R Designer přidal návrhář objekt DataContext pro váš projekt. Tento objekt obsahuje kód, který musíte mít pro přístup k těmto tabulkám, kromě jednotlivých objektů a kolekcí pro každou tabulku. Objekt DataContext pro váš projekt je pojmenován na základě názvu souboru .dbml. Pro tento projekt má objekt DataContext název
northwindDataContext
.V kódu můžete vytvořit instanci DataContext a dotazovat se na tabulky určené Návrhářem relací objektů.
Do události
Load
přidejte následující kód pro dotazování tabulek, které jsou vystavené jako vlastnosti kontextu dat.Dim db As New northwindDataContext Dim londonCusts = From cust In db.Customers Where cust.City = "London" Select cust DataGridView1.DataSource = londonCusts
Stisknutím klávesy F5 spusťte projekt a zobrazte výsledky.
Tady jsou některé další dotazy, které můžete vyzkoušet:
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 = londonCustOrders
Dim 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
Viz také
- LINQ
- Dotazy
- LINQ to SQL
- metody DataContext (Návrhář relací objektů)