Vb.net 是否针对父数据表更新命令,以接受对子数据表的更改?

Vb.net 是否针对父数据表更新命令,以接受对子数据表的更改?,vb.net,ado.net,Vb.net,Ado.net,我在两个表之间设置了父子关系。父表的主键设置为自动递增值。这工作正常,父数据表中的新行用我在TableAdapter上调用Update时插入的键的实际值刷新 问题是子表中的行没有插入到数据库中。出于调试目的,我在代码示例中添加了changesBefore和changesAfter,以查看子表中存在哪些更改的行。当我使用调试器单步执行代码时,changesBefore会保存新的子行更改后为无。就好像对头表调用Update触发子表上的AcceptChanges 我熟悉使用DataTables和Tab

我在两个表之间设置了父子关系。父表的主键设置为自动递增值。这工作正常,父数据表中的新行用我在TableAdapter上调用
Update
时插入的键的实际值刷新

问题是子表中的行没有插入到数据库中。出于调试目的,我在代码示例中添加了
changesBefore
changesAfter
,以查看子表中存在哪些更改的行。当我使用调试器单步执行代码时,
changesBefore
会保存新的子行<代码>更改后为
。就好像对头表调用
Update
触发子表上的
AcceptChanges

我熟悉使用DataTables和TableAdapters进行插入/更新,但这是我第一次尝试在父表上使用自动增量。我错过了什么

        Dim changesBefore = _ds.ResponseDetails.GetChanges

        headersTa.Update(_ds.ResponseHeaders)

        Dim changesAfter = _ds.ResponseDetails.GetChanges

        detailsTa.Update(_ds.ResponseDetails)

完成标题更新后,需要使用标题记录中自动生成的id更新详细信息记录中的链接字段。这不会自动发生在您身上。

这正在工作。事实证明,数据集中的每个关系都有一个
AcceptRejectRule
属性。我将规则设置为
Cascade
,因此当针对父表调用
Update
时,它基本上是将
AcceptChanges
级联到子表。将规则更改为
None
解决了我的问题


我在数据集上设置了一个关系,因此链接字段正在更新。我在对父项调用Update后发布了_ds.ResponseDetails来证实这一点。子行在链接字段中具有父行PK的正确值。问题似乎是,对子表的更新不会保存任何内容,因为它认为该表没有包含更改的行。