adonet piemēri. TĪKLS. ADO tehnoloģijas. NET FrameWork, CORBA

Kad n-līmeņa arhitektūras arhitekti novērtē jaunu tehnoloģiju, modeli vai stratēģiju, viņi izlemj, kā šī jaunā mīkla iederēsies arhitektūrā. Ja ir Entity Framework, integrācija nesagādā nekādas grūtības. To var integrēt n-līmeņa arhitektūrā, kā arī viena līmeņa arhitektūrā.

19.03.2009 15:32

Entity Framework FAQ

Izpratne par entītiju modelēšanu, šādu modeļu kartēšana relāciju datu bāzēs un entītiju datu modeļu (EDM) izstrāde ir pirmie soļi, lai izprastu entītiju ietvaru. Es sākšu šo rakstu, atbildot uz jautājumiem par Entity Framework pamatiem, tostarp par ObjectContext klasi, un pēc tam atbildēšu uz jautājumiem par to, kad un kur izmantot Entity Client ar Entity SQL. Turklāt es plānoju izskaidrot atšķirību starp EntityClient un Object Services, kā arī LINQ un Entity SQL vaicājumu izmantošanas ietekmi kopā ar šiem pakalpojumiem.

16.02.2009 15:15

ADO.NET entītiju ietvara pārskats

Izlaižot Visual Studio 2008, ADO.NET ievieš jaunu Entity Framework arhitektūru. Tas ļauj izstrādātājiem piekļūt datiem, izmantojot objekta modeli, nevis loģisko vai relāciju datu modeli. Entity Framework palīdz abstrahēt loģisko datu shēmu konceptuālajā modelī un nodrošina vairākus veidus, kā mijiedarboties ar konceptuālo modeli, izmantojot objektu pakalpojumus un jaunu datu nodrošinātāju ar nosaukumu EntityClient. Šī mēneša rakstā ir apspriests, kas ir entītiju ietvars, kā tas attiecas uz lietojumprogrammu un kā to izstrādāt un programmēt, paturot prātā to.

13.02.2009 18:44

Entītijas datu modeļa izstrāde ar entītiju ietvaru

Entity Framework ir jauna tehnoloģija, kas izstrādāta ADO.NET. Tas ļauj izstrādātājiem vizualizēt datus, izmantojot loģisku modeli, nevis fizisku modeli, kas nodrošina zināmu izstrādes elastību. Žurnāla 2007. gada jūlija numurā Datu punktu sadaļā mēs sniedzām detalizētu pārskatu par Entity Framework tehnoloģiju (tai oficiāli vajadzētu tikt izlaista 2008. gada pirmajā pusē).

13.02.2009 18:33

Atribūtu izmantošana uzņēmējdarbības vienību normalizēšanai un apstiprināšanai

Korporatīvajā programmēšanā, veidojot datu piekļuves slāni, bieži rodas jautājums par darbu ar biznesa objektiem (biznesa entītijām): tie ir ielāde / maiņa / saglabāšana un pārvietošanās starp līmeņiem. Tam ir divas galvenās pieejas - izmantojot savas biznesa vienības vai standarta rīkus (ADO.NET nodrošina diezgan ērtus veidus, kā to izdarīt) - izmantojot DataSet.

20.01.2007 03:54

ADO.NET: Tehnoloģiju pārskats

Daudzi programmētāji, kas strādā ar datu bāzēm Microsoft platformās, varētu novērtēt ADO tehnoloģijas – ActiveX Data Objects – vienkāršību un ērtības. Intuitīvs interfeiss un loģisks objektu kopums kopā ar programmēšanas vienkāršību ir pelnīti saņēmuši programmētāju atzinību. Neskatoties uz to, līdz ar jauno .NET platformu Microsoft ievieš arī jaunas paaudzes datu bāzes piekļuves rīkus – ADO.NET.

27.12.2006 01:32

Darbības ar datiem ar hierarhisku struktūru. Izplatīto lietojumprogrammu izstrāde .NET

Šajā rakstā ir parādīts paņēmiens hierarhisku rindu kopu lasīšanai un rakstīšanai datu avotā. Šajā rakstā sniegtajos koda piemēros tiek izmantots SQL pārvaldīts nodrošinātājs, lai izveidotu savienojumu ar Microsoft SQL Server vai Microsoft Desktop Engine (MSDE) datu bāzi. Lai izveidotu savienojumu ar citiem ar OLEDB saderīgiem datu avotiem, izmantojiet ADO pārvaldīto nodrošinātāju.

27.12.2006 01:26

Darbs ar bezsaistes datiem ADO.NET

ADO.NET tehnoloģija, atšķirībā no tās priekšgājējiem ADO un OLE DB, tika īpaši izstrādāta lietošanai tīmekļa lietojumprogrammās, kur nav pastāvīgu datu bāzes savienojumu. Tradicionālais darbs ar datiem ADO.NET notiek pēc šādas shēmas: tiek izveidots savienojums, pēc tam tas tiek atvērts ar Open metodi, tiek izveidots Command objekts, kas iekapsulē SQL komandu, tas tiek izpildīts un pēc tam savienojums tiek aizvērts. Šī pieeja nodrošina pavedienu piekļuvi vaicājuma rezultātiem. Tie. lasot datus ar DataReader, nevar pārlēkt pāri vairākiem ierakstiem vai atgriezties pie iepriekšējā. Straumēšanas piekļuvei ir maksimāla veiktspēja.

Veltīts tiem, kas lapas kodā raksta vaicājumus...

Sveiciens visiem!

Par Habré ir zināma informācija, ka nākamajā VisualStudio 2008 versijā būs ADO.NET EntityFramework. (Atklāšu noslēpumu, šī versija jau ir parādījusies.) Šī izstrāde ir universāls ietvars, kas ļauj ar pāris peles klikšķiem izveidot datu loģiku savam projektam.
Līdz šim, strādājot ar datu loģiku, esmu saskāries ar 2 veidu projektiem. Pirmie tika izveidoti uz bēdīgi slavenā NHibernate ietvara, citus ieviesa programmētāji. Jau 3 gadus es rakstu un izstrādāju dažādas sistēmas, un visu šo laiku esmu attīstījis loģiku, kā strādāt tikai ar šiem rokturiem.
Un tā kādu citu dienu pēc jaunas Windows instalēšanas es lejupielādēju VisualStudio WebDeveloper Express un priecājos, ka komplektā atradu ADO.NET EntityFramework. Pēc kāda laika es reģistrēju domēnu, izveidoju vienkāršu vietni un sāku trenēt savus spēkus, rakstot programmas šim ietvaram.

Vispirms jums ir jāizveido vienkāršs Web projekts ar datu bāzi. Būtu arī jauki nekavējoties izveidot savienojumu ar datubāzi, izmantojot DataBase Explorer. Vēlāk vienkārši būs ērtāk.

Pēc tam projektam jāpievieno jauns elements "ADO.NET Entity Data Model".

Sistēmai būs jānorāda virkne savienojumam ar datu bāzi, kā arī jānorāda, no kurienes nāks pirmais ADO.NET EF modelis.

Manā datu bāzē man jau ir divas ļoti vienkāršas Post un User tabulas, tāpēc bez papildu piepūles es piespiedu sistēmu izveidot modeli, pamatojoties uz manu datu bāzi. Pēc visām šīm ļoti vienkāršajām darbībām es saņēmu strādājošu datu bāzes modeli. Turklāt, vizuāli izpētot šo modeli, es neaizmirsu ieskatīties kodā un redzēt, kā ietvars apraksta visas manas nodarbības?

  1. nosaukumtelpa DataBaseCore
  2. ///
  3. /// Shēmā nav komentāru par DbModel.
  4. ///
  5. publiska daļēja klase DbModel: global::System.Data.Objects.ObjectContext
  6. ///
  7. /// Inicializē jaunu DbModel objektu, izmantojot savienojuma virkni, kas atrodama lietojumprogrammas konfigurācijas faila sadaļā "DbModel".
  8. ///
  9. publiskais DbModel() :
  10. base("name=DbModel" , "DbModel")
  11. šis .OnContextCreated();
  12. /* Apgriezts kā nevajadzīgs */
  13. publiska daļēja klase Ziņojums: globāls::Sistēma.Dati.Objekti.DatuClasses.EntityObject
  14. ///
  15. /// Izveidot jaunu Post objektu.
  16. ///
  17. /// Id sākotnējā vērtība.
  18. publiska statiska ziņa CreatePost(int id)
  19. Post post = new Post();
  20. post.Id = id;
  21. atgriešanas pasts;

Datu loģikas speciālista apmācītā acs parādīja diezgan vienkāršas un elegantas klases klātbūtni, kas ļāva strādāt gan ar ierakstiem sistēmā, gan ar lietotājiem.

Nu, labi, mums jau ir kods, atliek tikai sākt to lietot. Un šeit mums atklājas visas ASP.NET valdzinājums un iespējas. Starp ievērojamu skaitu datu avotu lapā es redzēju entītijas datu avotu, kas labprāt sniedz datus pēc mūsu klases pieprasījuma. Mēs velkam to uz veidlapu, palaižam iestatīšanas vedni un ātri pievienojam datu avotu mūsu ziņu tabulai.

Neapšaubāmi, datu kārtošanas apraksts ASPX kodā ir kļuvis daudz patīkamāks.

  1. < asp:EntityDataSource ID ="dsPosts" runat ="server" ConnectionString ="name=DbModel"
  2. DefaultContainerName ="DbModel" EntitySetName ="Post" >
* Šis pirmkods tika izcelts, izmantojot avota koda izcelšanas rīku .

Var teikt – tā mirdz žēlastībā.

Pēc datu sniedzēja parādīšanās veidlapā ir nepieciešams arī patērētājs. Nebūdams gudrs, es pievienoju vienkāršu kodu, kas vienkārši parāda visas ziņas secīgi.

  1. < asp:Repeater runat ="server" ID ="repPosts" DataSourceID ="dsPosts" >
  2. < HeaderTemplate >
  3. < ItemTemplate >
  4. < div >
  5. < h3 >
  6. < asp:Label ID ="lblHeader" runat ="server" Text ="<%# Eval("Header") %>" >
  7. < p >
  8. < asp:Label ID ="lblText" runat ="server" Text ="<%# Helpers.TypographText(Eval("Text").ToString()) %>" >
* Šis pirmkods tika izcelts, izmantojot avota koda izcelšanas rīku .

Un šeit beidzas mana stāsta vienkāršākā daļa. Līdz šim visu paveikto var atkārtot ar peli. Tas bija pietiekami viegli. Mēs tikko izveidojām uz objektu orientētu datu bāzes skatu, un, izmantojot šo skatu, mēs sākām lapā parādīt datus no datu bāzes. Tajā pašā laikā mēs nekad neuzrakstījām nevienu pieprasījumu, nesaņēmām datus tieši no datu bāzes utt.

Bet ko parādīt lietotājam, ja datu bāzē mums nekā nav? Nav labi. Lai aizpildītu datubāzi, jums ir jāuzraksta veidlapa. Tagad mēs pabeigsim peles programmēšanu un sāksim rakstīt kodu.

Es veicu divas visvienkāršākās darbības, lai strādātu ar ziņām sistēmā - tā ir pievienošana un dzēšana. Rediģēt pēc analoģijas ar šo kodu nevienam nebūs grūti.

  1. nosaukumvieta DBW
  2. publisks klases ieraksts
  3. publiska ziņa()
  4. public static void New (virkne PostText, String Post Header, Int32 UserID)
  5. p.Header = PostHeader;
  6. p.Teksts = Helpers.TypographText(PostText);
  7. p.PublishDate = DateTime.Now;
  8. p.User = (no usr m.User kur usr.Id == UserId izvēlieties usr).First();
  9. m.AddToPost(p);
  10. m.SaveChanges();
  11. publisks statisks tukšums Dzēst (Int32 PostId)
  12. DataBaseCore.DbModel m = new DataBaseCore.DbModel();
  13. DataBaseCore.Post p = new DataBaseCore.Post();
  14. p = (no pst in m.Post kur pst.Id == PostId izvēlieties pst).First();
  15. m.DeleteObject(p);
  16. m.SaveChanges();
* Šis pirmkods tika izcelts, izmantojot avota koda izcelšanas rīku .

Šķiet, ka viss ir vienkārši, un jā, tā arī ir. Bet ir pāris nianses.
Pirmkārt, tas ir LINQ. Bez tā ADO.NET nekur nav. Tāpēc nevajadzētu izvairīties no SQL vai LINQ, jums joprojām ir jāraksta vaicājumi.
Otrkārt, šo kodu automātiski ģenerē ietvars, tāpēc dažos punktos jums nebūs jāgaida lielas ērtības, un jums vienmēr jābūt gatavam mainīt studijas jau izveidoto kodu. Piemēram, šeit 16. rindā ērtāk būtu izmantot nevis lietotāja tipa objektu, kas man bija jāizvēlas no datu bāzes, bet gan uzreiz nodot lietotāja identifikatora vērtību. Šim kodam tas būtu ērtāk, bet tas nav universāls. Tāpēc kods ir jāuzlabo un jāpārdomā. Varbūt jums vienkārši jānodod nevis lietotāja ID, bet gan lietotāja tipa objekts.

Ko tālāk? Tālāk es turpināšu rakstīt projektu, iedziļinoties ADO.NET Entity Framework savvaļā, un ar prieku dalīšos ar jums, dārgie habrauseri, savos pētījumos. Attiecīgi būs jauni raksti ar nopietnākiem un padziļinātākiem datiem.

UPD. Tēma ir ļoti plaša. Šeit pat nav atklāts procents no iespējām, bet turpinājums būs 8-)

Tehnoloģijas ADO .NET, . NET FrameWork, CORBA

ADO .NET attālās datu bāzes piekļuves tehnoloģija tika izstrādāta arī klienta-servera arhitektūrai. Papildus diviem attālo datu bāzu līmeņiem - klientam un serverim - parādās papildu līmeņi - biznesa loģikas serveri, kas realizē lietojumprogrammu biznesa loģiku.

ADO .NET tehnoloģija klientam izveido šādu shēmu darbam ar datu bāzes serveri:

Savienojuma izveide ar serveri;

Nepieciešamo datu iegūšana;

Savienojuma slēgšana;

Datu apstrāde;

Savienojuma izveide, lai pārsūtītu mainītos datus atpakaļ uz serveri.

ADO .NET pamatā ir divi galvenie moduļi:

Datu nodrošinātājs .NET FrameWork

Rezidentu relāciju datu bāze (DataSet).

Datu nodrošinātājs, kā norāda tās nosaukums, ir atbildīgs par lietojumprogrammas saziņu ar datu avotu un manipulācijām ar datiem. Datu sniedzējs ietver šādus datu apstrādes objektus:

a) Savienojumu izmanto, lai izveidotu savienojumu ar datu avotu, kā arī pārvaldītu darījumus.

b) Komanda ļauj manipulēt ar avota datiem, kā arī izpildīt saglabātās procedūras. Šajā gadījumā var izmantot parametrus datu pārsūtīšanai abos virzienos.

c) DataAdapter kalpo kā saite starp rezidentu DataSet datu bāzi un datu avotu un parasti izmanto Command objektu, lai izpildītu SQL komandas gan aizpildot DataSet ar datiem, gan sūtot atpakaļ klienta izmainītos datus uz avotu. Tam ir četras metodes šo funkciju veikšanai: SelectCommand, InsertCommand, UpdateCommand un DeleteCommand.

d) DataReader nodrošina tikai lasāmus datus no avota. Ja klienta aplikācija nepārveido datus un neprasa patvaļīgu datu atlasi, bet pietiek ar vienreizēju skatu, tad DataReader izmantošana DataSet vietā ietaupīs datora resursus, kā arī palielinās aplikācijas veiktspēju.

Rezidentu relāciju datu bāze ir klienta saņemta relāciju datu bāze, kas tiek glabāta tā pastāvīgajā RAM.

Tālāk klients bezsaistē apstrādā datus un, ja nepieciešams, tos modificē, pēc tam atkal tiek izveidots savienojums ar serveri un pārveidotā informācija no rezidentu datu bāzes tiek nosūtīta atpakaļ.

Šāda mijiedarbības shēma ir nedaudz līdzīga failu arhitektūras darbam -

serveri, un uzņēmumi to bieži izmanto, strādājot ar attālām datu bāzēm, izmantojot globālo internetu.

Lai nodrošinātu piekļuvi objektiem, izmantojot globālo internetu, kā daļa no ADO .NET tika nodrošināts .NET FrameWork modulis, kas nodrošina mijiedarbību starp dažādiem datu prezentācijas formātiem, tostarp HTML un XML.

No šiem raksturlielumiem var redzēt, ka ADO .NET tehnoloģija nodrošina:

Spēja mijiedarboties starp dažādu formātu datiem, ieskaitot HTML un XML;

Ievērojams izmaksu ietaupījums, strādājot ar attālinātām datu bāzēm, izmantojot globālo internetu.

ADO.NET izmanto slāņu arhitektūru, kas griežas ap nelielu skaitu galveno jēdzienu, piemēram, Connection, Command un DataSet objekti. Tomēr ADO.NET arhitektūra ļoti atšķiras no klasiskās ADO arhitektūras.

Datu nodrošinātāji vietnē ADO.NET

Datu nodrošinātājs ir ADO.NET klašu kopa, kas ļauj piekļūt noteiktai datubāzei, izpildīt SQL komandas un izgūt datus. Būtībā datu nodrošinātājs ir tilts starp jūsu lietojumprogrammu un datu avotu.

Sākotnēji datu sniedzēju var uzskatīt par tipu kopu, kas definēta noteiktā nosaukumvietā un ir paredzēta mijiedarbībai ar noteiktu datu avotu. Tomēr neatkarīgi no izmantotā datu sniedzēja katrs definē klašu kopu, kas nodrošina galveno funkcionalitāti. Tālāk esošajā tabulā ir uzskaitīti daži izplatīti bāzes objekti, to bāzes klases (definētas System.Data.Common nosaukumvietā) un galvenās saskarnes (definētas System.Data nosaukumvietā), ko tie ievieš:

Pamata ADO.NET datu nodrošinātāja objekti
Objekta tips bāzes klase Atbilstošās saskarnes Mērķis
savienojums Db savienojums IDbSavienojums Ļauj izveidot savienojumu ar datu krātuvi un atvienoties no tā. Turklāt savienojuma objekti nodrošina piekļuvi atbilstošajiem darījumu objektiem.
komandu DbCommand IDbCommand Apzīmē SQL vaicājumu vai saglabāto procedūru. Turklāt komandu objekti nodrošina piekļuvi konkrēta datu sniedzēja datu lasītāja objektam.
datu lasītājs DbDataReader IDataReader, IDataRecord Nodrošina tikai lasīšanas piekļuvi datiem uz priekšu, izmantojot servera puses kursoru
Datu adapteris DbDataAdapter IDataAdapter, IDbDataAdapter Pārsūta datu kopas no datu krātuves uz zvanīšanas procesu un otrādi. Datu adapteri satur savienojumu un četru iekšējo komandu objektu kopu informācijas iegūšanai, ievietošanai, modificēšanai un dzēšanai datu krātuvē.
Parametrs DbParametrs IDataParameter, IDbDataParameter Apzīmē nosauktu parametru parametrizētā vaicājumā
darījums Db Darījums IDb Darījums Iekapsulē darījumu datu bāzē

Šo bāzes klašu konkrētie nosaukumi dažādiem pakalpojumu sniedzējiem atšķiras (piemēram, SqlConnection, OracleConnection, OdbcConnection un MySqlConnection), taču šie objekti visi ir atvasināti no vienas bāzes klases (savienojuma objektu gadījumā DbConnection), kas ievieš identiskas saskarnes (piemēram, IDbConnection). . Tāpēc, ja uzzināsit, kā strādāt ar vienu datu sniedzēju, varat viegli tikt galā ar pārējo.

Vietnē ADO.NET termins "savienojuma objekts" faktiski attiecas uz konkrētu veidu, kas iegūts no DbConnection; savienojuma objekta "vispār" nav. To pašu var teikt par "komandu objektu", "datu adaptera objektu" utt. Pēc vienošanās objektu nosaukumiem noteiktā datu nodrošinātājā tiek pievienots atbilstošs DBVS (piemēram, SqlConnection, OracleConnection, SqlDataReader utt.).

Viena no galvenajām ADO.NET nodrošinātāja modeļa idejām ir paplašināmība. Citiem vārdiem sakot, izstrādātāji var izveidot savus nodrošinātājus patentētiem datu avotiem. Faktiski ir pieejami daudzi piemēri, kas parāda, kā izveidot pielāgotus ADO.NET nodrošinātājus, kas iesaiņo nerelāciju datu krātuves, piemēram, failu sistēmu vai direktoriju pakalpojumu. Dažas trešās puses pārdod arī savus .NET datu nodrošinātājus.

NET Framework ir aprīkots ar nelielu četru pakalpojumu sniedzēju komplektu:

SQL serveris

Nodrošina optimizētu piekļuvi SQL Server datu bāzēm (versija 7.0 un jaunāka).

OLEDB

Nodrošina piekļuvi jebkuram datu avotam, kuram ir OLE DB draiveris. Tas ietver SQL Server datu bāzes, kas vecākas par 7.0.

Orākuls

Nodrošina optimizētu piekļuvi Oracle datu bāzēm (8i un jaunāka versija).

ODBC

Nodrošina piekļuvi jebkuram datu avotam, kuram ir ODBC draiveris.

Operētājsistēmā .NET 4 Oracle nodrošinātājs ir novecojis. Lai gan tas joprojām darbojas, Microsoft iesaka izmantot trešās puses pakalpojumu sniedzēju, lai piekļūtu Oracle datu bāzēm, piemēram, Oracle ODP.NET (Oracle Data Provider for .NET), kas ir pieejams vietnē http://www.oracle.com. Šis pakalpojumu sniedzējs nodrošina plašu atbalstu specializētiem Oracle datu tipiem, piemēram, LOB, laikspiedoliem un XML datiem, kā arī vairākiem papildu līdzekļiem.

Tālāk esošajā attēlā parādīti ADO.NET nodrošinātāja modeļa līmeņi:

Izvēloties pakalpojumu sniedzēju, vispirms mēģiniet atrast iebūvēto .NET nodrošinātāju, kas ir paredzēts jūsu datu avotam. Ja tas nav atrasts, varat izmantot OLE DB, ja datu avotam ir OLE DB draiveris.

OLE DB tehnoloģija ir bijusi pieejama daudzus gadus kā daļa no ADO, tāpēc lielākajai daļai datu avotu ir OLE DB draiveri (tostarp SQL Server, Oracle, Access, MySQL un daudzi citi). Tajos retajos gadījumos, kad nevarat atrast pielāgotu .NET nodrošinātāju vai OLE DB draiveri, varat meklēt ODBC nodrošinātāju, kas darbojas kopā ar ODBC draiveri.

Standartizācija ADO.NET

No pirmā acu uzmetiena varētu šķist, ka ADO.NET piedāvā sadrumstalotu modeli, jo tajā nav iekļauta vispārēja objektu kopa, kas darbotos ar daudzu veidu datu bāzēm. Tā rezultātā, pārejot no vienas relāciju DBVS uz citu, jums ir jāmaina datu piekļuves kods, lai izmantotu citu klašu kopu.

Bet, lai gan dažādi .NET datu nodrošinātāji izmanto dažādas klases, tie visi ir kaut kādā veidā standartizēti. Precīzāk, katrs pakalpojumu sniedzējs ir balstīts uz vienu un to pašu saskarņu un bāzes klašu kopu. Piemēram, objekts Savienojums ievieš saskarni IDbConnection, kas definē galvenās metodes, piemēram, Open () un Close (). Šī standartizācija nodrošina, ka katra savienojuma klase darbojas vienādi un nodrošina to pašu galveno rekvizītu un metožu kopu.

Aizkulisēs dažādi pārdevēji izmanto pilnīgi atšķirīgus zema līmeņa zvanus un API. Piemēram, SQL Server Data Provider izmanto patentētu protokolu TDS (tabulāra datu straume — tabulas datu straume) lai mijiedarbotos ar serveri. Šī modeļa priekšrocības nav uzreiz acīmredzamas, bet ļoti nozīmīgas:

    Tā kā katrs pakalpojumu sniedzējs izmanto vienas un tās pašas saskarnes un bāzes klases, varat rakstīt vispārīgu datu piekļuves kodu (ar nelielu papildu darbu), strādājot ar saskarnēm, nevis pakalpojumu sniedzēja klasēm.

    Tā kā katrs pakalpojumu sniedzējs tiek ieviests atsevišķi, tas var izmantot atbilstošās optimizācijas (tas atšķiras no ADO modeļa, kur katram datu bāzes izsaukumam ir jāiet cauri kopējam slānim, pirms tiek sasniegts pamatā esošā datu bāzes draiveris). Turklāt pielāgotie piegādātāji var pievienot nestandarta līdzekļus, kuru nav citiem piegādātājiem (piemēram, SQL servera iespēju izpildīt XML vaicājumus).

ADO.NET ir arī cits standartizācijas līmenis - datu kopa. DataSet klase ir vispārējas nozīmes datu konteiners, kas tiek izgūts no vienas vai vairākām datu avotu tabulām. Datu kopa ir pilnīgi vispārīga; citiem vārdiem sakot, pielāgotie pakalpojumu sniedzēji nedefinē savas DataSet klases pielāgotās versijas.

Neatkarīgi no tā, kuru datu nodrošinātāju izmantojat, varat izgūt datus un ievietot tos pilnībā ietvertā datu kopā tādā pašā veidā. Tādējādi ir vieglāk atdalīt kodu, kas izgūst datus, no koda, kas tos apstrādā. Ja mainās pamatā esošā datu bāze, jāmaina tikai kods, kas izgūst datus, bet, ja tiek izmantota datu kopa un informācijai ir tāda pati struktūra, nav jāmaina tās apstrādes veids.

ADO.NET pamatnodarbības

ADO.NET klases ir sagrupētas vairākās nosaukumvietās. Katram pakalpojumu sniedzējam ir sava nosaukumvieta, un vispārīgās klases, piemēram, DataSet, atrodas System.Data nosaukumvietā. Tālāk ir aprakstītas svarīgākās nosaukumvietas pamata ADO.NET atbalstam:

Sistēma.Dati

Satur galvenās datu konteineru klases, kas modelē kolonnas, attiecības, tabulas, datu kopas, rindas, skatus un ierobežojumus. Papildus satur galvenās saskarnes, kuras īsteno uz savienojumu balstīti datu objekti.

System.Data.Common

Satur pamata, abstraktākās klases, kas ievieš dažas saskarnes no System.Data un nosaka ADO.NET pamata funkcionalitāti. Datu nodrošinātāji manto no šīm klasēm (DbConnection, DbCommand utt.), izveidojot savas specializētās versijas

System.Data.OleDb

Ietver klases, ko izmanto, lai izveidotu savienojumu ar OLE DB nodrošinātāju, tostarp OleDbCommand, OleDbConnection un OleDbDataAdapter. Šīs klases atbalsta lielāko daļu OLE DB nodrošinātāju, bet ne tos, kuriem nepieciešama OLE DB saskarnes versija 2.5.

System.Data.SqlClient

Ietver klases, ko izmanto, lai izveidotu savienojumu ar Microsoft SQL Server datu bāzi, tostarp SqlDbCommand, SqlDbConnection un SqlDbDataAdapter. Šīs klases ir optimizētas, lai izmantotu TDS saskarni ar SQL Server

System.Data.OracleClient

Ietver klases, kas nepieciešamas, lai izveidotu savienojumu ar Oracle datu bāzi (versija 8.1.7 un jaunāka versija), tostarp OracleCommand, OracleConnection un OracleDataAdapter. Šīs klases izmanto optimizētu saskarni OCI (Oracle Call Interface — Oracle Call Interface)

Sistēma.Dati.Odbc

Ietver klases, kas nepieciešamas, lai izveidotu savienojumu ar lielāko daļu ODBC draiveru, piemēram, OdbcCommand, OdbcConnection, OdbcDataReader un OdbcDataAdapter. ODBC draiveri tiek nodrošināti visu veidu datu avotiem un tiek konfigurēti, izmantojot vadības paneļa ikonu Datu avoti

System.Data.SqlTypes

Satur struktūras, kas atbilst iebūvētajiem SQL Server datu tipiem. Šīs klases nav obligātas, taču nodrošina alternatīvu standarta .NET datu tipu izmantošanai, kam nepieciešama automātiska konvertēšana.