I have a self-referential Role table that represents a tree structure
ID [INT] AUTO INCREMENT
Name [VARCHAR]
ParentID [INT]
I am using an ADO.NET DataTable and DataAdapter to load and save values to this table. This works if I only create children of existing rows. If I make a child row, then make a child of that child, then Update, the temporary ID value generated by the DataTable is going into the ParentID column. I have the following data relation set:
dataset.Relations.Add(New DataRelation("RoleToRole",RoleTable.Columns("ID"), RoleTable.Columns("ParentID")))
And when I make new child rows in the DataTable I call the SetParentRow method
newRow.SetParentRow(parentRow)
Is there something special I have to do to get the ID generation to propagate recursively when I call Update on the DataAdapter?