ADO.NET DataSets
Het DataSet object is centraal in het ondersteunen van niet-verbonden, gedistribueerde gegevensscenario's met ADO.NET. De DataSet is een geheugenrepresentatie van gegevens die een consistent relationeel programmeermodel biedt, ongeacht de gegevensbron. Het kan worden gebruikt met meerdere en verschillende gegevensbronnen, met XML-gegevens of om gegevens lokaal voor de toepassing te beheren. De DataSet vertegenwoordigt een volledige set gegevens, waaronder gerelateerde tabellen, beperkingen en relaties tussen de tabellen. In de volgende afbeelding ziet u het DataSet-objectmodel .
DataSet-objectmodel
De methoden en objecten in een DataSet zijn consistent met die in het relationele databasemodel.
De DataSet kan de inhoud ook behouden en opnieuw laden als XML en het schema als XSD-schema (XML Schema Definition Language). Zie XML gebruiken in een dataset voor meer informatie.
De DataTableCollection
Een ADO.NET DataSet bevat een verzameling van nul of meer tabellen die worden vertegenwoordigd door DataTable objecten. De DataTableCollection tabel bevat alle DataTable-objecten in een DataSet.
Een gegevenstabel wordt gedefinieerd in de System.Data naamruimte en vertegenwoordigt één tabel met geheugengegevens. Het bevat een verzameling kolommen die worden vertegenwoordigd door een DataColumnCollection, en beperkingen die worden vertegenwoordigd door een ConstraintCollection, die samen het schema van de tabel definiëren. Een gegevenstabel bevat ook een verzameling rijen die worden vertegenwoordigd door de DataRowCollection, die de gegevens in de tabel bevat. Samen met de huidige status behoudt een DataRow bestand zowel de huidige als de oorspronkelijke versies om wijzigingen in de waarden te identificeren die zijn opgeslagen in de rij.
De DataView-klasse
Met A DataView kunt u verschillende weergaven maken van de gegevens die zijn opgeslagen in een DataTable, een mogelijkheid die vaak wordt gebruikt in toepassingen voor gegevensbinding. Met behulp van een DataView, kunt u de gegevens in een tabel met verschillende sorteervolgordes weergeven en u kunt de gegevens filteren op rijstatus of op basis van een filterexpressie. Zie DataViews voor meer informatie.
De DataRelationCollection
Een DataSet bevat relaties in het DataRelationCollection object. Een relatie, vertegenwoordigd door het DataRelation object, koppelt rijen in de ene gegevenstabel aan rijen in een andere gegevenstabel. Een relatie is vergelijkbaar met een joinpad dat mogelijk bestaat tussen primaire en refererende-sleutelkolommen in een relationele database. Een DataRelation identificeert overeenkomende kolommen in twee tabellen van een DataSet.
Met relaties kunt u vanuit de ene tabel naar de andere navigeren in een DataSet. De essentiële elementen van een DataRelation zijn de naam van de relatie, de naam van de tabellen die worden gerelateerd en de gerelateerde kolommen in elke tabel. Relaties kunnen worden gebouwd met meer dan één kolom per tabel door een matrix met DataColumn objecten op te geven als sleutelkolommen. Wanneer u een relatie aan de DataRelationCollectiongroep toevoegt, kunt u desgewenst een UniqueKeyConstraint en een ForeignKeyConstraint toevoegen om integriteitsbeperkingen af te dwingen wanneer er wijzigingen worden aangebracht in gerelateerde kolomwaarden.
Zie DataRelations toevoegen voor meer informatie.
XML
U kunt een DataSet invullen vanuit een XML-stroom of -document. U kunt de XML-stroom of het document gebruiken om gegevens, schemagegevens of beide gegevens in de DataSet op te geven. De informatie uit de XML-stroom of het document kan worden gecombineerd met bestaande gegevens of schemagegevens die al aanwezig zijn in de DataSet. Zie XML gebruiken in een dataset voor meer informatie.
ExtendedProperties
De DataSet, DataTable en DataColumn hebben allemaal een eigenschap ExtendedProperties . ExtendedProperties is een PropertyCollection waar u aangepaste gegevens kunt plaatsen, zoals de SELECT-instructie die is gebruikt voor het genereren van de resultatenset of het tijdstip waarop de gegevens zijn gegenereerd. De verzameling ExtendedProperties wordt behouden met de schemagegevens voor de DataSet.
LINQ naar DataSet
LINQ naar DataSet biedt taalgebaseerde querymogelijkheden voor niet-verbonden gegevens die zijn opgeslagen in een DataSet. LINQ naar DataSet maakt gebruik van standaard LINQ-syntaxis en biedt syntaxiscontrole, statische typen en IntelliSense-ondersteuning wanneer u de Visual Studio IDE gebruikt.
Zie LINQ naar DataSet voor meer informatie.