Dela via


ADO.NET datauppsättningar

Objektet DataSet är centralt för att stödja frånkopplade, distribuerade datascenarier med ADO.NET. DataSet är en minnesbaserad representation av data som tillhandahåller en konsekvent relationsprogrammeringsmodell oavsett datakälla. Den kan användas med flera och olika datakällor, med XML-data eller för att hantera data som är lokala för programmet. DataSet representerar en fullständig uppsättning data, inklusive relaterade tabeller, begränsningar och relationer mellan tabellerna. Följande bild visar DataSet-objektmodellen .

ADO.Net graphic
DataSet-objektmodell

Metoderna och objekten i en DataSet är konsekventa med dem i relationsdatabasmodellen.

DataSet kan också spara och läsa in dess innehåll som XML och dess schema som XSD-schema (XML Schema Definition Language). Mer information finns i Använda XML i en DataSet.

The DataTableCollection

En ADO.NET DataSet innehåller en samling med noll eller fler tabeller som representeras av DataTable objekt. Innehåller DataTableCollection alla DataTable-objekt i en DataSet.

En DataTable definieras i System.Data namnområdet och representerar en enda tabell med minnesbaserade data. Den innehåller en samling kolumner som representeras av en DataColumnCollection, och begränsningar som representeras av en ConstraintCollection, som tillsammans definierar schemat för tabellen. En DataTable innehåller också en samling rader som representeras av DataRowCollection, som innehåller data i tabellen. Tillsammans med dess aktuella tillstånd behåller en DataRow både sina aktuella och ursprungliga versioner för att identifiera ändringar i värdena som lagras på raden.

Klassen DataView

Med A DataView kan du skapa olika vyer av data som lagras i en DataTable, en funktion som ofta används i databindningsprogram. Med hjälp av kan DataViewdu exponera data i en tabell med olika sorteringsordningar, och du kan filtrera data efter radtillstånd eller baserat på ett filteruttryck. Mer information finns i DataViews.

The DataRelationCollection

En DataSet innehåller relationer i objektet DataRelationCollection . En relation, som representeras av DataRelation objektet, associerar rader i en DataTable med rader i en annan DataTable. En relation motsvarar en kopplingssökväg som kan finnas mellan primära och sekundärnyckelkolumner i en relationsdatabas. En DataRelation identifierar matchande kolumner i två tabeller i en DataSet.

Relationer aktiverar navigering från en tabell till en annan i en DataSet. De viktigaste elementen i en DataRelation är namnet på relationen, namnet på tabellerna som är relaterade och de relaterade kolumnerna i varje tabell. Relationer kan skapas med mer än en kolumn per tabell genom att ange en matris med DataColumn objekt som nyckelkolumner. När du lägger till en relation i DataRelationCollectionkan du lägga till en UniqueKeyConstraint och en ForeignKeyConstraint för att framtvinga integritetsbegränsningar när ändringar görs i relaterade kolumnvärden.

Mer information finns i Lägga till DataRelations.

XML

Du kan fylla i en DataSet från en XML-dataström eller ett dokument. Du kan använda XML-dataströmmen eller dokumentet för att ange datauppsättningen, antingen data, schemainformation eller båda. Informationen från XML-dataströmmen eller dokumentet kan kombineras med befintlig data- eller schemainformation som redan finns i DataSet. Mer information finns i Använda XML i en DataSet.

ExtendedProperties

DataSet, DataTable och DataColumn har alla en ExtendedProperties-egenskap. ExtendedProperties är en PropertyCollection där du kan placera anpassad information, till exempel SELECT-instruktionen som användes för att generera resultatuppsättningen eller den tid då data genererades. Samlingen ExtendedProperties sparas med schemainformationen för DataSet.

LINQ till DataSet

LINQ till DataSet tillhandahåller språkintegrerade frågefunktioner för frånkopplade data som lagras i en DataSet. LINQ till DataSet använder linq-standardsyntax och ger stöd för kompileringssyntaxkontroll, statisk typning och IntelliSense när du använder Visual Studio IDE.

Mer information finns i LINQ till DataSet.

Se även