从XML生成的数据集-parent-child-tables C#更新SQL Server -with-autogenerated-identity-key

时间:2018-08-29 15:42:53

标签: c# database datatable dataset

我有一个包含多个表和关系的数据集(从XMLreader导入)。我需要将数据与相关信息一起插入到SQL数据库中(SQL Server表与数据集表相同)。

我的问题是导入的xml的标识列-始终都是序列号(就像XML一样)

<SysProg Version-1.0><Jobs> <Job xyz /> <Job xyz /> <Jobs> </SysProg>
  • SQLBulkCopy将不起作用,因为其他先前的xml文件具有相同的标识。插入SQL DB会很不好。

我该如何遍历数据集中的表,将它们从父级到子级排序,以便我可以用数据更新父级(获取ID,然后更新子级)等。

我知道要检查ChildRelations等。排序然后确保一切正确完成,我不确定该怎么做-或是否有人可以简单地做到这一点。我试图不对表进行硬编码-因此,如果XML发生更改,则不需要针对新的xml数据模型进行重新编码。

编辑

数据集中的数据来自xml文件。我得到8个表,父表,然后是子表。每次读取xml文件-带有in的行的id都是从0到n的序列。我需要将数据插入数据库并维护数据之间的关系。我将始终执行插入-我将永远不会执行UPDATE。因为这些作业正在被读入数据库以进行排队等。

我的数据库服务器自动生成主键。

所以我的问题是-我该如何遍历这些表并以有效且适当的方式插入数据,并且更容易更好?

我阅读了此链接how-to-update-dataset-parent-child-tables-with-autogenerated-identity-key,它似乎很有希望..但我不太关注它。我想我将Id列中的数字更改为负数,并将其放入数据适配器中并更新数据库?

0 个答案:

没有答案