DataRelations toevoegen
In een DataSet met meerdere DataTable objecten kunt u objecten gebruiken DataRelation om de ene tabel aan een andere te koppelen, door de tabellen te navigeren en onderliggende of bovenliggende rijen uit een gerelateerde tabel te retourneren.
De argumenten die nodig zijn om een DataRelation te maken, zijn een naam voor de DataRelation die wordt gemaakt en een matrix van een of meer DataColumn verwijzingen naar de kolommen die fungeren als de bovenliggende en onderliggende kolommen in de relatie. Nadat u een DataRelation hebt gemaakt, kunt u deze gebruiken om tussen tabellen te navigeren en waarden op te halen.
Als u een DataRelation toevoegt aan een DataSet tabel, wordt standaard een UniqueConstraint aan de bovenliggende tabel en een ForeignKeyConstraint aan de onderliggende tabel toegevoegd. Zie DataTable-beperkingen voor meer informatie over deze standaardbeperkingen.
In het volgende codevoorbeeld wordt een DataRelation gemaakt met behulp van twee DataTable objecten in een DataSet. Elk DataTable bevat een kolom met de naam CustID, die fungeert als een koppeling tussen de twee DataTable objecten. In het voorbeeld wordt één DataRelation toegevoegd aan de verzameling Relaties van de DataSet. Het eerste argument in het voorbeeld geeft de naam op van de DataRelation die wordt gemaakt. Het tweede argument stelt de bovenliggende DataColumn in en het derde argument stelt de onderliggende DataColumn in.
customerOrders.Relations.Add("CustOrders", _
customerOrders.Tables("Customers").Columns("CustID"), _
customerOrders.Tables("Orders").Columns("CustID"))
customerOrders.Relations.Add("CustOrders",
customerOrders.Tables["Customers"].Columns["CustID"],
customerOrders.Tables["Orders"].Columns["CustID"]);
Een DataRelation heeft ook een geneste eigenschap die, wanneer deze is ingesteld op waar, ervoor zorgt dat de rijen uit de onderliggende tabel worden genest binnen de gekoppelde rij uit de bovenliggende tabel wanneer ze als XML-elementen worden geschreven met behulp van WriteXml . Zie XML gebruiken in een dataset voor meer informatie.