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