new yyyTableAdapter().Fill(dataSet1.yyy);リレーションが、
親テーブル yyy
└子テーブル xxx
「制約が有効」な状態です。
内部的には、親テーブル yyy の内容を消して(Clear)、フィル(Fill)しようとしている。
子テーブル xxx にデータが存在する場合、親が Clear によって消えてしまう。ここで制約違反が発生。
回避方法:
- yyyTableAdapter の ClearBeforeFill を False にしてから、Fill を実行。
- dataSet1.EnforceConstraint = False にしてから、Fill する。すると、制約違反は検知されなくなるので、自由にテーブルを構築できる。