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í DataAdapter
Command
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
.
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í DataSet
nevyž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 DataReader
vý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.