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) 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. Ukázka určuje minimální a maximální hodnoty výsledků pomocí Aggregate a Group By klauzulí. Další informace naleznete v tématu Agregační klauzule a Klauzule Group By.
Příklady v tomto článku používají ukázkovou databázi Northwind. Chcete-li získat databázi, viz 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í.
Určete platné připojení k ukázkové databázi Northwind.
Přidání projektu, který obsahuje soubor LINQ to SQL
V sadě Visual Studio v nabídce Soubor přejděte na příkaz Nový a potom klepněte na tlačítko Projekt. Jako typ projektu vyberte Visual Basic Windows Forms Application .
V nabídce Project klikněte na Přidat novou položku. Vyberte položku šablony LINQ to SQL Classes.
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 k dotazování 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 podokna návrháře. Klikněte na tabulku Objednávky a přetáhněte ji do levého podokna návrháře.
Návrhář pro váš projekt vytvoří nové
CustomeraOrderobjekty. 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 objektCustomermá vlastnostOrderspro 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 události
Loadformuláře.Když jste přidali tabulky do Návrháře O/R, návrhář automaticky přidal 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
Loadpřidejte následující kód. Tento kód se dotazuje tabulek, které jsou vystaveny jako vlastnosti kontextu dat, a určuje minimální a maximální hodnoty pro výsledky. Ukázka používá klauzuliAggregatek dotazování na jeden výsledek a klauzuleGroup Byk zobrazení průměru seskupených výsledků.Dim db As New northwindDataContext Dim minimumOrders = Aggregate cust In db.Customers Where cust.City = "London" Into Min(cust.Orders.Count) MsgBox("Minimum Orders from a London Customer: " & minimumOrders) Dim maximumOrdersByCountry = From cust In db.Customers Group By cust.Country Into MaxOrders = Max(cust.Orders.Count) DataGridView1.DataSource = maximumOrdersByCountryStisknutím klávesy F5 spusťte projekt a zobrazte výsledky.
Viz také
- LINQ
- Dotazy
- LINQ to SQL
- metody DataContext (Návrhář relací objektů)