Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Databearbetningen har traditionellt främst förlitat sig på en anslutningsbaserad modell med två nivåer. Eftersom databehandling i allt högre grad använder arkitekturer på flera nivåer växlar programmerare till en frånkopplad metod för att ge bättre skalbarhet för sina program.
ADO.NET-komponenter
De två huvudkomponenterna i ADO.NET för att komma åt och manipulera data är .NET Framework-dataprovidrar och DataSet.
.NET Framework-dataprovidrar
.NET Framework-dataprovidrar är komponenter som uttryckligen har utformats för datamanipulering och snabb, framåtriktad, skrivskyddad åtkomst till data. Objektet Connection ger anslutning till en datakälla. Objektet Command ger åtkomst till databaskommandon för att returnera data, ändra data, köra lagrade procedurer och skicka eller hämta parameterinformation. 
              DataReader tillhandahåller en högpresterande dataström från datakällan. Slutligen DataAdapter tillhandahåller bryggan DataSet mellan objektet och datakällan. 
              DataAdapter använder Command-objekt för att köra SQL-kommandon i datakällan för att både ladda in DataSet med data och sammanställa ändringar som har gjorts i data i DataSet tillbaka till datakällan. Mer information finns i .NET Framework Data Providers och Hämta och ändra data i ADO.NET.
Datauppsättningen
ADO.NET DataSet är uttryckligen utformad för dataåtkomst oberoende av alla datakällor. Därför kan den användas med flera och olika datakällor, användas med XML-data eller användas för att hantera data som är lokala för programmet. 
              DataSet innehåller en samling av ett eller flera DataTable-objekt som består av rader och kolumner med data, samt primärnyckel, utländsk nyckel, begränsningar och relationsinformation om data i DataTable-objekten. Mer information finns i DataSets, DataTables och DataViews.
Följande diagram illustrerar relationen mellan en .NET Framework-dataprovider och en DataSet.
              
              
            
ADO.NET arkitektur
Välja en DataReader eller en DataSet
När du bestämmer dig för om ditt program ska använda en DataReader (se Hämta data med hjälp av en DataReader) eller en DataSet (se DataSets, DataTables och DataViews) bör du överväga vilken typ av funktioner som krävs för ditt program. Använd a DataSet för att göra följande:
Mellanlagra data lokalt i ditt program så att du kan manipulera det. Om du bara behöver läsa resultatet av en fråga
DataReaderär det bättre valet.Fjärrdata mellan nivåer eller från en XML-webbtjänst.
Interagera med data dynamiskt, till exempel bindning till en Windows Forms-kontroll eller kombinera och relatera data från flera källor.
Utför omfattande bearbetning av data utan att kräva en öppen anslutning till datakällan, vilket frigör anslutningen som ska användas av andra klienter.
Om du inte behöver de funktioner som tillhandahålls av DataSet, kan du förbättra prestandan för ditt program med hjälp av DataReader för att returnera dina data på ett framåtgående, skrivskyddat sätt. Även om DataAdapter använder DataReader för att fylla i innehållet i en DataSet (se Fylla i en DataSet från en DataAdapter), kan du, genom att använda DataReader, öka prestandan eftersom du sparar minne som annars skulle förbrukas av DataSet, och undviker den bearbetning som krävs för att skapa och fylla innehållet i DataSet.
LINQ till DataSet
LINQ till DataSet tillhandahåller frågefunktioner och kompileringstidskontroll över data som cachelagras i ett DataSet-objekt. Det gör att du kan skriva frågor på ett av .NET Framework-utvecklingsspråket, till exempel C# eller Visual Basic. Mer information finns i LINQ till DataSet.
LINQ till SQL
LINQ till SQL stöder frågor mot en objektmodell som mappas till datastrukturerna i en relationsdatabas utan att använda en mellanliggande konceptuell modell. Varje tabell representeras av en separat klass som nära kopplar objektmodellen till relationsdatabasschemat. LINQ till SQL översätter språkintegrerade frågor i objektmodellen till Transact-SQL och skickar dem till databasen för körning. När databasen returnerar resultaten översätter LINQ till SQL resultatet tillbaka till objekt. Mer information finns i LINQ till SQL.
ADO.NET Entity Framework
ADO.NET Entity Framework är utformat för att göra det möjligt för utvecklare att skapa program för dataåtkomst genom programmering mot en konceptuell programmodell i stället för att programmera direkt mot ett relationslagringsschema. Målet är att minska mängden kod och underhåll som krävs för dataorienterade program. Mer information finns i ADO.NET Entity Framework.
WCF Data Services
WCF Data Services används för att distribuera datatjänster på webben eller ett intranät. Data är strukturerade som entiteter och relationer enligt specifikationerna för entitetsdatamodellen. Data som distribueras i den här modellen kan adresseras med standard-HTTP-protokoll. Mer information finns i WCF Data Services 4.5.
XML och ADO.NET
ADO.NET utnyttjar kraften i XML för att ge frånkopplad åtkomst till data. ADO.NET har utformats hand i hand med XML-klasserna i .NET Framework. båda är komponenter i en enda arkitektur.
ADO.NET och XML-klasserna i .NET Framework konvergerar i DataSet objektet. 
              DataSet Kan fyllas med data från en XML-källa, oavsett om det är en fil eller en XML-dataström. 
              DataSet Kan skrivas som W3C-kompatibel XML (World-Wide Web Consortium) som innehåller schemat som XSD-schema (XML Schema Definition Language), oavsett källan till data i DataSet. Eftersom det inbyggda serialiseringsformatet för DataSet är XML är det ett utmärkt medium för att flytta data mellan nivåer, vilket gör DataSet till ett optimalt val för överföring av data och schemakontext till och från en XML-webbtjänst. Mer information finns i XML-dokument och -data.