ADO.NET je skup klasa za rad sa podacima. Snabdevači podataka su klase koje obezbeđuju mogućnost konektovanja na izvor podataka. Osnovni snabdevači podataka su SQL Server snabdevači podataka i OLE DB snabdevači podataka. Pri radu u ADO.NET okruženju koriste se prostori imena System.Data, System.Data.SqlClient, System.Data.OleDb, System.Data. SqlTypes, System.Xml.
U ADO.NET-u postoje dva osnovna načina rada: konektovani i diskonektovani. Kod konektovanog scenarija resursi se uzimaju sa servera sve dok se konekcija ne zatvori. Korisnik je konstantno povezan na izvor podataka. Prednost konektovanog scenarija je da su podaci uvek ažurni, konkuretni pristup resursima servera se lakše kontroliše. Nedostatak konektovanog rada je da mora da postoji konstantna mrežna konekcija, kao i mala skalabilnost aplikacije.
Korišćenje ADO.NET klasa u konektovanom scenariju
U nastavku su prikazane osnovne klase koje se koriste u konektovanom scenariju. Redosled izvršavanja operacija pri radu u konektovanom scenariju je : otvaranje konekcije, izvršavanje komande, obrada zapisa u reader-u, zatvaranje reader-a i zatvaranje konekcije.
Slika 1: Osnovne klase
Prostori imena i nazivi klasa
Da bi se koristio SQL Server .NET snabdevač podataka potrebno je uključiti prostor imena System.Data.SqlClient. U ovom prostoru imena klase počinju sa prefiksom Sql, npr. SqlConnection. Da bi se koristio OLE DB .NET snabdevač mora se uključiti prostor imena System.Data.OleDb prostor imena. Klase počinju sa prefiksom OleDb, npr. OleDbConnection.
Klase konektovanog scenarija
Klasa XxxConnection (Xxx označava odgovarajući prefiks npr Sql) omogućava uspostavljenje konekcije na odgovarajući izvor podataka. Klasa XxxCommand izvršava SQL komandu nad odgovarajućim izvorom podataka. Klasa XxxDataReader služi za čitanje podataka iz odgovarajućeg izvora podataka.
U diskonektovanom scenariju podskup podataka iz baze podataka se kopira na lokalnom računaru. Dok se korisnik nalazi u diskonektovanom radu ostali korisnici mogu da koriste konekciju. Diskonektovani rad povećava skalabilnost aplikacije. Podaci koji predstavljaju lokalnu kopiju dela baze podataka nisu uvek ažurni. Kada se podacima iz lokalne kopije podataka ažurira baza može doći do konflikta.
Korišćenje ADO.NET klasa u diskonektovanom scenariju
U nastavku su prikazane osnovne klase koje se koriste u diskonektovanom scenariju. Redosled izvršavanja operacija pri radu u diskonektovanom scenariju je: otvaranje konekcije, punjenje DataSet objekta podacima iz baze, zatvaranje konekcije, obrada podataka u DataSet-u, ponovo otvaranje konekcije, ažuriranje baze podataka podacima iz DataSet-a, zatvaranje konekcije.
Slika 2. Korišćenje ADO.NET klasa u diskonektovanom scenariju
Klase konektovanog scenarija
Klasa XxxDataAdapter klasa koristi Connection, Command i DataReader klase da bi popunila DataSet. XxxConnection objekat uspostavlja konekciju sa specificiranim izvorom podataka. XxxCommand objekat izvršava komandu nad odgovarajućim izvorom podataka. XxxDataReader čita podatke iz izvora podataka.