Postupy: Filtrování výsledků dotazu pomocí LINQ (Visual Basic)
Integrované jazyk dotazu (LINQ) usnadňuje přístup k databázi informace a provádět dotazy.
Následující příklad ukazuje, jak vytvořit novou aplikaci, která provádí dotazy vůči databázi serveru SQL Server a filtruje výsledky podle určité hodnoty pomocí Where klauzule.Další informace naleznete v tématu Where – klauzule (Visual Basic).
Příklady v tomto tématu použít ukázkovou databázi Northwind.Pokud ukázkovou databázi Northwind ve vývojovém počítači nemáte, můžete ji stáhnout z Microsoft Download Center webu.Pokyny naleznete v části Downloading Sample Databases.
[!POZNÁMKA]
Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Vytvoření připojení k databázi
Otevřít v aplikaci Visual Studio Server Explorer/Explorer databáze klepnutím na Server Explorer/Explorer databáze na zobrazení nabídce.
Pravým tlačítkem myši na Připojení dat v Server Explorer/Explorer databáze a klepněte na tlačítko Přidat připojení.
Zadejte platné připojení k ukázkové databázi Northwind.
Přidat projekt, který obsahuje LINQ soubor SQL
V aplikaci Visual Studio na soubor nabídce přejděte na Nový a klepněte na tlačítko projektu.Výběr jazyka Visual Basic Model Windows Forms aplikace jako typ projektu.
V nabídce Projekt klikněte na příkaz Přidat novou položku.Vyberte LINQ třídy SQL položku šablony.
Název souboru northwind.dbml.Klikněte na tlačítko Přidat.Relační Object Designer (Návrhář O/R) otevře soubor northwind.dbml.
Přidání tabulky do dotazu na autora O/R
V Server Explorer/Explorer databáze, rozbalte připojení k databázi Northwind.Rozbalte tabulek složky.
Zavřeno O/R Designer můžete znovu otevřít poklepáním na soubor northwind.dbml, který jste přidali dříve.
Klepněte na tabulku Zákazníci a přetáhněte ho do levého podokna Návrháře.Klepněte na tabulku objednávky a přetáhněte ho do levého podokna Návrháře.
Návrhář vytváří nové Customer a Order objekty v projektu.Všimněte si, že návrhář automaticky rozpozná relace mezi tabulkami a vytvoří podřízené vlastnosti související objekty.Například technologie IntelliSense zobrazí Customer objekt má Orders týkající se vlastností pro všechny objednávky zákazníka.
Uložte změny a zavřete Návrhář.
Uložte projekt.
Přidání kódu k dotazu v databázi a zobrazit výsledky
Z nástrojů, přetáhněte DataGridView řízení do výchozího formuláře systému Windows pro váš projekt Form1.
Poklepejte na Form1 přidání kódu Load události formuláře.
Po přidání tabulky do Návrháře O/R Návrhář přidány DataContext objektu pro projekt.Tento objekt obsahuje kód, který musí mít přístup k tyto tabulky vedle jednotlivých objektů a kolekcí pro každou tabulku.DataContext Objektu pro projekt s názvem na základě názvu souboru .dbml.Pro tento projekt DataContext s názvem objektu northwindDataContext.
Můžete vytvořit instanci DataContext v kódu a dotazu tabulky určit návrhář O/R.
Přidejte následující kód Load události do tabulek, které jsou vystaveny jako vlastnosti kontextu dat dotazu.Filtruje výsledky dotazu a vrátí pouze zákazníky, které jsou umístěny v London.
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_London
Stisknutím klávesy F5 projektu spustit a zobrazit výsledky.
Následují některé filtry, 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é
Úkoly
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Koncepty
DataContext Methods (O/R Designer)