ADO.NET

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 2 decembrie 2014; verificarea necesită 41 de modificări .

ADO.NET (ActiveX Data Object for .NET) este o tehnologie care oferă acces la și gestionarea datelor stocate într-o bază de date sau alte surse ( Microsoft SQL Server , Microsoft Access , Microsoft Excel , Microsoft Outlook , Microsoft Exchange , Oracle , OLE DB ). , ODBC , XML , fișiere text) [1] , bazat pe .NET Framework și inclus în .NET Framework 2.0 , este un set de biblioteci [2] . Spre deosebire de tehnologia ADO , care a fost destinată în primul rând sistemelor client-server strâns cuplate, ADO.NET se concentrează mai mult pe lucrul offline folosind obiecte DataSet. Obiectele DataSet reprezintă copii locale ale tabelelor de date înrudite, fiecare conținând un set de rânduri și coloane. Obiectele DataSet permit unui ansamblu apelant (cum ar fi o pagină web sau un program care rulează pe un computer desktop) să lucreze cu conținutul DataSet-ului, să îl modifice fără a necesita o conexiune la o sursă de date și să trimită blocuri de date modificate înapoi pentru a fi procesate prin adaptorul de date corespunzător. Dar poate cea mai fundamentală diferență dintre ADO clasic și ADO.NET este că ADO.NET este o bibliotecă de coduri gestionate și, prin urmare, supusă acelorași reguli ca orice bibliotecă gestionată. Tipurile care alcătuiesc ADO.NET utilizează protocolul de gestionare a memoriei CLR , aparțin aceluiași sistem de tip ( clase , interfețe , enumerari , structuri și delegați ) și pot fi accesate folosind orice limbaj .NET . Clasele ADO.NET sunt în ansamblul System.Data.dll.

Furnizori de date

Tehnologia ADO.NET este construită astfel încât să izoleze programatorul de studierea structurilor bazelor de date de la diferiți producători, introducând furnizori de baze de date (furnizori de date) care încapsulează mecanismul de lucru cu un anumit SGBD , ceea ce vă permite să creați adaptoare pentru orice SGBD . și să-și folosească pe deplin caracteristicile. O astfel de abstractizare a fost realizată pentru a utiliza aceleași tipuri de date pentru a lucra cu surse de date diferite, pentru a avea o abordare comună (universalizare) pentru lucrul cu baze de date de la diferiți producători, astfel încât tehnologia ADO.NET să fie suportată de CLR [3] .

Strat conectabil

La acest nivel, lucrul cu bazele de date se realizează prin obiecte de conexiune, obiecte cititor de date și un furnizor de date proiectat pentru SGBD -ul dorit . Pentru obținerea datelor sunt parcurși următorii pași.

Cititoarele de date oferă un flux de date pentru a fi citite în direcția înainte. Citirea are loc de fiecare dată când o înregistrare. Prin urmare, obiectele de citire procesează numai cererile de selectare. Deschiderea și închiderea unei conexiuni la baza de date este în întregime responsabilitatea programatorului.

Nivel offline

Stratul ADO.NET de sine stătător vă permite să mapați datele relaționale folosind un model de obiect în memorie. Tipurile de date din System.Data reproduc nu numai afișarea rândurilor și coloanelor, ci și relațiile dintre tabele, cheile primare etc. Deoarece datele sunt mapate în memorie, conexiunea nu necesită timp DBMS, conectându-se și deconectându-se automat la citirea și actualizarea date, stratul autonom elimină munca suplimentară de la programator. Dar acest nivel are un dezavantaj, imaginați-vă că trebuie să citiți 20.000 de înregistrări din baza de date, iar atunci când utilizați nivelul offline, toate acestea vor cădea în memoria aplicației, nu o utilizare foarte rezonabilă, aici nivelul de plug-in vine la nivelul salvare, care numără totul secvenţial.

Entity Framework

În arhitectura ADO.NET, există o legătură cu structura fizică a datelor, așa că atunci când scrieți cod pentru a accesa baza de date, trebuie să vă amintiți schemele de tabele și relații. Pentru a simplifica scrierea codului și a-l menține automat, Microsoft a dezvoltat Entity Framework , care duce abstractizarea la un nou nivel al modelului obiect. Acest lucru a făcut posibilă maparea structurii bazei de date la obiectele de afaceri ale aplicației, drept urmare a fost posibil să se lucreze cu date ca și cu obiectele limbajului obișnuit. Entitățile sunt un model conceptual al unei baze de date fizice care este mapată la un domeniu. Din punct de vedere formal, acest model se numește Entity Data Model (EDM). EDM este un set de clase la nivelul clientului care se mapează la o bază de date fizică. Cu toate acestea, trebuie să înțelegeți că entitățile nu trebuie să fie mapate direct la schema bazei de date, așa cum ar putea părea, pe baza numelui. Clasele de entități pot fi restructurate pentru a se potrivi nevoilor dvs., iar runtime-ul Entity Framework va mapa aceste nume unice la schema corectă a bazei de date.

Vezi și

Note

  1. B. Hamilton. Cartea de retete ADO.NET. Pentru profesionisti. - Sankt Petersburg. : Peter, 2005. - 576 p. — ISBN 5-469-00239-X .
  2. Seppa D. Microsoft ADO.NET. - Moscova: Editura și Casa Comercială „Ediția Rusă”, 2003. - 640 p. — ISBN 5-7502-0223-2 .
  3. Sean Wildermus. Utilizarea practică a ADO.NET, acces la date de pe Internet. - Moscova: Williams, 2003. - 288 p. — ISBN 5-8459-0450-1 .

Literatură

Link -uri