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 a filtruje výsledky podle konkrétní hodnoty pomocí klauzule Where. Další informace naleznete v tématu Příkaz WHERE.
Příklady v tomto článku používají ukázkovou databázi Northwind. Pokud chcete získat databázi, viz stažení ukázkových dat.
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
Ve Visual Studiu otevřete Průzkumník serveru /a Průzkumník databáze kliknutím na Průzkumník serveru /a Průzkumník databáze v nabídce Zobrazení .
Klepněte pravým tlačítkem myši na Připojení k datům v Průzkumník serverů/Průzkumník databází a pak klikněte na Přidat připojení.
Zadejte 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 vyberte 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 šablonu položky Třídy LINQ to SQL.
Pojmenujte soubor
northwind.dbml. Klikněte na Přidat. Otevře se objektový relační návrhář (Návrhář relací objektů) pro soubor northwind.dbml.
Přidání tabulek do dotazu v Návrháři O/R.
Ve Průzkumníku serveru/, v Průzkumníku databází, rozbalte 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 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 k události
Loadformuláře.Když jste přidali tabulky do O/R návrháře, návrhář 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 pro dotazování tabulek, které jsou vystavené jako vlastnosti kontextu dat. Dotaz vyfiltruje výsledky a vrátí pouze zákazníky, kteří se nacházejí vLondon.Dim db As New northwindDataContext Dim customers_London = From cust In db.Customers Where cust.City = "London" Select cust.CustomerID, cust.CompanyName, OrderCount = cust.Orders.Count, cust.City, cust.Country DataGridView1.DataSource = customers_LondonStisknutím klávesy F5 spusťte projekt a zobrazte výsledky.
Následuje několik dalších filtrů, které můžete vyzkoušet.
Dim companies_H = From cust In db.Customers Where cust.Orders.Count > 0 And cust.CompanyName.StartsWith("H") Select cust.CustomerID, cust.CompanyName, OrderCount = cust.Orders.Count, cust.Country Dim customers_USA = From cust In db.Customers Where cust.Orders.Count > 15 And cust.Country = "USA" Select cust.CustomerID, cust.CompanyName, OrderCount = cust.Orders.Count, cust.Country
Viz také
- LINQ
- dotazy
- LINQ to SQL
- metody DataContext (Návrhář relací objektů)