2 つのテーブル間に親子関係を設定しています。親テーブルは、主キーの自動インクリメント値でセットアップされます。これは正常に機能しており、親 DataTable の新しい行はUpdate
、TableAdaptor を呼び出したときに挿入されたキーの実際の値で更新されます。
問題は、子テーブルの行が DB に挿入されていないことです。デバッグの目的で、コード サンプルにchangesBefore
とを追加して、子テーブルに存在する変更された行を確認しました。changesAfter
デバッガーでコードをステップ実行するとchangesBefore
、新しい子行が含まれます。changesAfter
ですNothing
。Update
ヘッダー テーブルに対する呼び出しAcceptChanges
が子テーブルでトリガーされているかのようです。
DataTables と TableAdapter を使用した挿入/更新には精通していますが、親テーブルで自動インクリメントを使用するのはこれが初めての試みです。ここで何が欠けていますか?
Dim changesBefore = _ds.ResponseDetails.GetChanges
headersTa.Update(_ds.ResponseHeaders)
Dim changesAfter = _ds.ResponseDetails.GetChanges
detailsTa.Update(_ds.ResponseDetails)