現在のアプリケーションでは、 .NET XSD DataSetと機能を使用してかなり標準的なテーブルをセットアップしていTableAdapterます。私contractsのテーブルは、いくつかの標準的な契約情報で構成されており、primary department. この列は、基本的な, ,を格納するテーブルへの外部キーです。これはすべて、私のSQL Serverでのセットアップと機能です。Departmentsdepartment nameidnotes
XSD ツールを使用すると、両方のテーブルを一度にドラッグでき、これら 2 つのテーブル間にある外部キーが自動検出/作成されます。これは、メイン ページで契約データを表示しているときにうまく機能します。
ただし、部門データを変更するために管理ページに移動するときは、通常、次のようにします。
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
ただし、この時点で、ここで外部キー参照が壊れているという趣旨で例外がスローさContract DataTableれます。
この問題を解決するにはどうすればよいですか? XSD から外部キーを削除するだけで正常に機能することはわかっていますが、そこで追加の整合性チェックを行い、XSD スキーマをデータベース内の SQL スキーマと一致させることは素晴らしいことです。