close

ADO.NET

Gå til navigasjon Gå til søk
Image
Denne teknologien er en del av .NET Framework 3.0 (har vært en del av rammeverket siden versjon 1.0).

ADO.NET er et sett med programvarekomponenter som kan brukes av programmerere for å få tilgang til data og datatjenester. Det er en del av biblioteket med basisklasser som er inkludert i Microsoft .NET Framework. Det brukes ofte av programmerere for å få tilgang til og endre data som er lagret i et relasjonsdatabasestyringssystem , selv om det også kan brukes til å få tilgang til data i ikke-relasjonelle kilder. ADO.NET regnes noen ganger som en utvikling av ActiveX Data Objects (ADO)-teknologi, men den har blitt endret så omfattende at den kan tenkes som et helt nytt produkt.

Arkitektur

ADO.NET består av to hoveddeler:

Dataleverandør

Disse klassene gir tilgang til en datakilde, for eksempel Microsoft SQL Server og Oracle . Hver datakilde har sitt eget sett med leverandørobjekter, men hver har et felles sett med verktøyklasser:

  • Tilkobling: Gir en tilkobling som brukes til å kommunisere med datakilden. Den fungerer også som en abstrakt fabrikk for kommandoobjekter.
  • Kommando: Brukes til å utføre en handling på datakilden, for eksempel å lese, oppdatere eller slette relasjonsdata.
  • Parameter: Beskriver en enkelt parameter til en kommando . Et vanlig eksempel er en parameter som skal brukes i en lagret prosedyre .
  • DataAdapter: "Bridge" brukes til å overføre data mellom en datakilde og et DataSet-objekt (se nedenfor).
  • DataReader: Er en klasse som brukes til å effektivt behandle en stor liste med resultater, én post om gangen.

Datasett

DataSets-objekter, en gruppe klasser som beskriver en enkel relasjonsdatabase i minnet , var stjernen i programmet i den første utgivelsen (1.0) av Microsoft .NET Framework. Klassene danner et inneslutningshierarki:

  • Et DataSet- objekt representerer et skjema (enten en hel database eller et undersett av en). Den kan inneholde tabellene og relasjonene mellom disse tabellene.
    • Et DataTable- objekt representerer en enkelt tabell i databasen. Den har et navn, rader og kolonner.
      • Et DataView- objekt "sitter på toppen" av en DataTable og bestiller dataene (som en SQL "order by"-klausul) og, hvis et filter er aktivert, filtrerer postene (som en SQL "where"-klausul). For å lette disse operasjonene brukes en minneindeks. Alle DataTables har et standardfilter, mens et hvilket som helst antall ekstra DataViews kan defineres, noe som reduserer interaksjonen med den underliggende databasen og dermed forbedrer ytelsen.
        • En DataColumn representerer en tabellkolonne, inkludert navnet og typen.
        • Et DataRow- objekt representerer en enkelt rad i tabellen, og lar verdiene i den raden leses og oppdateres, samt gjenfinning av eventuelle rader som er relatert til det gjennom en primærnøkkel - fremmednøkkelrelasjon.
        • En DataRowView representerer en enkelt rad i en DataView, forskjellen mellom en DataRow og DataRowView er viktig når du samhandler med et resultatsett.
    • En DataRelation er en relasjon mellom tabeller, for eksempel en primærnøkkel - fremmednøkkelrelasjon. Dette er nyttig for å aktivere DataRows funksjonalitet for å hente relaterte rader.
    • En begrensning beskriver en databaseegenskap som må være sann, for eksempel at verdiene i en primærnøkkelkolonne må være unike. Etter hvert som dataene endres, vil ethvert brudd som oppstår føre til unntak.

Et datasett fylles ut fra en database av en dataadapter hvis tilkoblings- og kommandoegenskaper er angitt. Imidlertid kan et datasett lagre innholdet til XML (eventuelt med et XSD-skjema), eller fylle ut seg selv fra XML, noe som gjør dette usedvanlig nyttig for webtjenester, distribuert databehandling og tidvis tilkoblede/frakoblede applikasjoner.

ADO.NET og Visual Studio .NET

I Visual Studio .NET IDE er det funksjonalitet for å lage spesialiserte underklasser av DataSet-klassene for et bestemt databaseskjema, noe som gir enkel tilgang til hvert felt gjennom sterkt innskrevne egenskaper. Dette hjelper til med å fange opp flere programmeringsfeil ved kompilering og gjør IDEs Intellisense-funksjon mer nyttig.

ADO.NET Entity Framework

ADO.NET Entity Framework er et sett med datatilgangs- APIer for Microsoft .NET Framework, rettet mot versjonen av ADO.NET som leveres med .NET Framework 3.5 . Den ble utgitt som en egen oppdatering sammen med Service Pack 1 for .NET Framework, etter utgivelsen av både .NET Framework 3.5 og Visual Studio 2008. En ny versjon av Entity Framework (v 4.0) vil bli utgitt sammen med Visual Studio 2010. og .NET Framework 4.0.

En Entity Framework -enhet er et objekt som har en nøkkel som representerer primærnøkkelen til en logisk datalagerenhet. En konseptuell enhetsdatamodell (Entity-Relationship-modell) er tilordnet en datalagerskjemamodell. Ved å bruke enhetsdatamodellen lar rammeverket data behandles som enheter uavhengig av deres underliggende datalagerrepresentasjoner.

Entity SQL er et SQL-lignende språk for å spørre etter Entity Data Model (i stedet for det underliggende datalageret). Tilsvarende gir Linq-utvidelsene, Linq-to-Entities, spørringer skrevet på Entity Data Model. Entity SQL- og Linq-to-Entities-spørringer konverteres internt til et kanonisk spørringstre som deretter konverteres til en forståelig spørring til det underliggende datalageret (f.eks. til SQL i tilfelle av en relasjonsdatabase). Entiteter kan bruke relasjonene sine, og endringene skyves tilbake til datalageret.

ADO.NET Data Services

Også kjent som WCF Data Services, er kodenavnet "Astoria".

Det er en plattform for Microsoft å kalle datatjenester, det er en kombinasjon av kjøretiden og en webtjeneste som tjenestene eksponeres gjennom. I tillegg inkluderer den også Data Services Toolkit som lar Astoria Data Services opprettes fra ASP.NET . Prosjektet ble annonsert på Astoria MIX 2007, og den første forhåndsvisningen for utviklere ble gjort tilgjengelig 30. april 2007. CTP ble først gjort tilgjengelig som en del av forhåndsvisningen av ASP.NET 3.5 Extensions. Navneendringen fra ADO.NET Data Services til WCF Data Services ble kunngjort i 2009.

Se også

Datatilgangsteknologier
  • MDAC (Microsoft Data Access Components)
  • OLE DB (Object Linking and Embedding for Databases)
  • ODBC (Open Database Connectivity)
  • ADO (ActiveX Data Objects) ( ADO vs. ADO.NET )
  • DAO (Data Access Objects)
  • RDS (Remote Data Services)
  • Microsoft Jet Database Engine
O/R-kartlegging
Datatilgang og synkronisering

Eksterne lenker