Architektura ADO.NET

Zpracování dat tradičně spoléhalo především na dvouvrstvou model založený na připojení. Vzhledem k tomu, že zpracování dat stále častěji využívá vícevrstvé architektury, programátoři přecházejí na odpojený přístup, aby zajistili lepší škálovatelnost svých aplikací.

komponenty ADO.NET

Dvě hlavní komponenty ADO.NET pro přístup k datům a manipulaci s nimi jsou zprostředkovateli dat rozhraní .NET Framework a DataSetrozhraní .

Zprostředkovatelé dat .NET Framework

Rozhraní .NET Framework Zprostředkovatel dat jsou komponenty, které byly explicitně navrženy pro manipulaci s daty a rychlý přístup jen pro čtení k datům. Objekt Connection poskytuje připojení ke zdroji dat. Objekt Command umožňuje přístup k databázovým příkazům k vrácení dat, úpravě dat, spouštění uložených procedur a odesílání nebo načítání informací o parametrech. Poskytuje DataReader vysoce výkonný datový proud dat ze zdroje dat. DataAdapter Nakonec poskytuje most mezi objektem DataSet a zdrojem dat. Pomocí DataAdapterCommand objektů spouští příkazy SQL ve zdroji dat, aby se načetly DataSet s daty a odsouhlasily změny provedené v datech zpět DataSet ke zdroji dat. Další informace naleznete v tématu .NET Framework Zprostředkovatel dat a načítání a úpravy dat v ADO.NET.

Datová sada

ADO.NET DataSet je explicitně navržená pro přístup k datům nezávisle na jakémkoli zdroji dat. V důsledku toho se dá použít s několika různými zdroji dat, používat s daty XML nebo spravovat data místní pro aplikaci. Obsahuje DataSet kolekci jednoho nebo více DataTable objektů, které se skládají z řádků a sloupců dat, a také primárního klíče, cizího klíče, omezení a relačních informací o datech v DataTable objektech. Další informace naleznete v tématu Datové sady, Datové tabulky a DataViews.

Následující diagram znázorňuje vztah mezi zprostředkovatelem dat rozhraní .NET Framework a rozhraním DataSet.

ADO.Net graphic
Architektura ADO.NET

Volba třídy DataReader nebo datové sady

Když se rozhodnete, jestli má vaše aplikace použít DataReader (viz Načítání dat pomocí třídy DataReader) nebo DataSet (viz Datové sady, Datové tabulky a DataViews), zvažte typ funkcí, které vaše aplikace vyžaduje. DataSet Použijte následující postup:

  • Data můžete ukládat do mezipaměti místně ve vaší aplikaci, abyste s nimi mohli manipulovat. Pokud potřebujete jen přečíst výsledky dotazu, je lepší volbou DataReader .

  • Vzdálená data mezi vrstvami nebo z webové služby XML.

  • Interakce s daty dynamicky, jako je vazba na ovládací prvek model Windows Forms nebo kombinování a korelace dat z více zdrojů.

  • Proveďte rozsáhlé zpracování dat bez nutnosti otevřeného připojení ke zdroji dat, které uvolní připojení, aby ho mohli používat jiní klienti.

Pokud funkce poskytované funkcí DataSetnevyžadujete, můžete zlepšit výkon aplikace pomocí funkce DataReader , která vrací data jen pro předávání, jen pro čtení. DataAdapter Ačkoli použití DataReader k vyplnění obsahu objektu DataSet (viz Naplnění datové sady z objektu DataAdapter), můžete zvýšit DataReadervýkon, protože ušetříte paměť, která by spotřebovala DataSet, a vyhnout se zpracování, které je nutné k vytvoření a vyplnění obsahu DataSet.

LINQ to DataSet

LINQ to DataSet poskytuje možnosti dotazů a kontrolu typů kompilace nad daty uloženými v mezipaměti v objektu DataSet. Umožňuje psát dotazy v jednom z vývojových jazyků rozhraní .NET Framework, jako je C# nebo Visual Basic. Další informace naleznete v tématu LINQ to DataSet.

Technologie LINQ to SQL

LINQ to SQL podporuje dotazy na objektový model mapovaný na datové struktury relační databáze bez použití přechodného konceptuálního modelu. Každá tabulka je reprezentována samostatnou třídou, úzce spáruje objektový model se schématem relační databáze. LINQ to SQL překládá dotazy integrované do objektového modelu do jazyka Transact-SQL a odesílá je do databáze ke spuštění. Když databáze vrátí výsledky, LINQ to SQL přeloží výsledky zpět do objektů. Další informace najdete v tématu LINQ to SQL.

ADO.NET Entity Framework

Rozhraní ADO.NET Entity Framework je navržené tak, aby vývojářům umožnilo vytvářet aplikace pro přístup k datům programováním v konceptuálním aplikačním modelu místo programování přímo proti schématu relačního úložiště. Cílem je snížit množství kódu a údržby vyžadované pro aplikace orientované na data. Další informace najdete v tématu ADO.NET Entity Framework.

WCF Data Services

Datové služby WCF slouží k nasazení datových služeb na webu nebo intranetu. Data jsou strukturovaná jako entity a relace podle specifikací datového modelu entity. Data nasazená v tomto modelu jsou adresovatelná standardním protokolem HTTP. Další informace najdete v tématu Datové služby WCF 4.5.

XML a ADO.NET

ADO.NET využívá výkon XML k poskytování odpojeného přístupu k datům. ADO.NET byl navržen ručně s třídami XML v rozhraní .NET Framework; obě jsou součástí jedné architektury.

ADO.NET a třídy XML v rozhraní .NET Framework konvergují v objektu DataSet . Dají DataSet se naplnit daty ze zdroje XML bez ohledu na to, jestli se jedná o soubor nebo datový proud XML. Lze DataSet zapsat jako W3C (World-Wide Web Consortium), který obsahuje jeho schéma jako schéma XSD (XML schema definition language) bez ohledu na zdroj dat v objektu DataSet. Vzhledem k nativnímu formátu DataSet serializace xml je to vynikající médium pro přesouvání dat mezi vrstvami, což je DataSet optimální volba pro vzdálené komunikace dat a kontextu schématu do a z webové služby XML. Další informace naleznete v tématu Dokumenty a data XML.

Viz také