Sdílet prostřednictvím


Přehled LINQ to DataSet

Jedná se DataSet o jednu z nejrozšířenějších součástí ADO.NET. Jedná se o klíčový prvek odpojeného programovacího modelu, na základě kterého ADO.NET, a umožňuje explicitně ukládat data z různých zdrojů dat do mezipaměti. Pro prezentační úroveň DataSet je úzce integrovaná s ovládacími prvky grafického uživatelského rozhraní pro datové vazby. Pro střední vrstvu poskytuje mezipaměť, která zachovává relační tvar dat a zahrnuje rychlé jednoduché služby pro dotazování a navigaci v hierarchii. Běžnou technikou, která se používá ke snížení počtu požadavků v databázi, je použití DataSet pro ukládání do mezipaměti ve střední vrstvě. Představte si například webovou aplikaci řízenou daty ASP.NET. Často se významná část dat aplikace často nemění a je běžná napříč relacemi nebo uživateli. Tato data se dají uchovávat v paměti na webovém serveru, což snižuje počet požadavků na databázi a zrychluje interakce uživatele. Dalším užitečným aspektem je DataSet , že umožňuje aplikaci přenést podmnožinu dat z jednoho nebo více zdrojů dat do prostoru aplikace. Aplikace pak může manipulovat s daty v paměti při zachování relačního tvaru.

I přes jeho výslovnost DataSet má omezené možnosti dotazů. Tuto metodu Select lze použít pro filtrování a řazení a GetChildRows metody a GetParentRow metody lze použít pro navigaci v hierarchii. Pro cokoliv složitějšího ale musí vývojář napsat vlastní dotaz. To může vést k tomu, že aplikace, které fungují špatně a jsou obtížně udržovatelné.

LINQ to DataSet usnadňuje a rychlejší dotazování na data uložená v mezipaměti v objektu DataSet . Tyto dotazy jsou vyjádřeny v samotném programovacím jazyce, nikoli jako řetězcové literály vložené do kódu aplikace. To znamená, že vývojáři se nemusí učit samostatný dotazovací jazyk. LinQ to DataSet navíc umožňuje vývojářům sady Visual Studio pracovat efektivněji, protože integrované vývojové prostředí sady Visual Studio poskytuje kontrolu syntaxe kompilace, statické psaní a podporu Technologie IntelliSense pro LINQ. LINQ to DataSet lze také použít k dotazování na data, která byla sloučena z jednoho nebo více zdrojů dat. To umožňuje mnoho scénářů, které vyžadují flexibilitu ve způsobu znázornění a zpracování dat. Konkrétně obecné aplikace pro vytváření sestav, analýzu a business intelligence vyžadují tuto metodu manipulace.

Dotazování datových sad pomocí LINQ to DataSet

Než začnete dotazovat DataSet objekt pomocí LINQ to DataSet, musíte vyplnit DataSet. Existuje několik způsobů, jak načíst data do , DataSetnapříklad pomocí DataAdapter třídy nebo LINQ to SQL. Po načtení dat do objektu DataSet je možné je začít dotazovat. Formulace dotazů pomocí LINQ to DataSet je podobná použití jazykově integrovaných dotazů (LINQ) v jiných zdrojích dat s podporou LINQ. Dotazy LINQ je možné provádět s jednou tabulkou v DataSet jedné nebo více tabulkách pomocí a GroupJoin standardních Join operátorů dotazu.

Dotazy LINQ jsou podporovány pro typované i netypové DataSet objekty. Pokud je schéma známé v době návrhu DataSet aplikace, je doporučeno zadat typ DataSet . V zadaném typu DataSetmají tabulky a řádky členy pro každý ze sloupců, což usnadňuje a čitelnější dotazy.

Kromě standardních operátorů dotazů implementovaných v System.Core.dll přidá LINQ to DataSet několik DataSetrozšíření specifických pro konkrétní účely, které usnadňují dotazování na sadu DataRow objektů. Tato DataSet-specific rozšíření zahrnují operátory pro porovnávání sekvencí řádků, stejně jako metody, které poskytují přístup k hodnotám sloupce .DataRow

N-vrstvé aplikace a LINQ to DataSet

N-vrstvé datové aplikace jsou aplikace zaměřené na data, které jsou oddělené do více logických vrstev (nebo vrstev). Typická N-úrovňová aplikace zahrnuje prezentační vrstvu, střední vrstvu a datovou vrstvu. Rozdělení komponent aplikace do oddělených vrstev zvyšuje udržovatelnost a škálovatelnost aplikace. Další informace o N-vrstvých datových aplikacích naleznete v tématu Práce s datovými sadami v n-vrstvých aplikacích.

V N-vrstvých aplikacích DataSet se často používá ve střední vrstvě k ukládání informací do mezipaměti pro webovou aplikaci. Funkce dotazování LINQ to DataSet je implementována prostřednictvím rozšiřujících metod a rozšiřuje stávající ADO.NET 2.0 DataSet.

Viz také