У меня есть набор данных с несколькими таблицами и связями (импортирован из XMLreader). Мне нужно вставить данные в базу данных SQL со связанной информацией (таблицы сервера SQL идентичны таблицам набора данных).
Моя проблема связана со столбцами идентификаторов импортируемого xml - всегда будут порядковыми номерами (как XML)
<SysProg Version-1.0><Jobs> <Job xyz /> <Job xyz /> <Jobs> </SysProg>
- SQLBulkCopy не будет работать, так как другие предыдущие xml-файлы имели те же идентификаторы. Вставка в БД SQL будет плохой.
Как мне пройти по таблицам в наборе данных, упорядочить их от родителя к потомку, чтобы я мог обновить родителя данными (вернуть идентификаторы, затем обновить потомок) и т. Д.
Я знаю, чтобы проверить на ChildRelations и т. Д., Упорядочить и затем убедиться, что все это сделано правильно, я не уверен, как это сделать - или если у кого-то есть способ сделать это просто. Я пытаюсь не жестко кодировать таблицы - поэтому, если XML-код изменяется, мне не нужно перекодировать его в новую модель данных XML.
EDIT
Данные в наборах данных поступают из файла XML. Я получаю 8 таблиц, родительские и затем дочерние таблицы. Каждое чтение XML-файла - идентификаторы строк с in будут иметь последовательность от 0 до n. Мне нужно вставить данные в базу данных и поддерживать связь данных. Я всегда буду выполнять Вставку - я никогда не буду выполнять ОБНОВЛЕНИЕ. поскольку эти задания считываются в базу данных для очередей и т. д.
Мой сервер БД автоматически генерирует первичные ключи.
Итак, мой вопрос - как я могу пройтись по этим таблицам и вставить данные эффективным и надлежащим образом, а проще - лучше?
Я прочитал эту ссылку how-to-update-dataset-parent-child-tables-with-autogenerated-identity-key и это выглядит многообещающе ... но я не совсем следую за этим. Я предполагаю, что я изменяю свои числа в столбцах Id на отрицательные и помещаю эту вещь в dataadapter и обновляю базу данных?