29


0

XSDデータセットと外部キーの無視

私はhttps://en.wikipedia.org/wiki/.NET_Framework[.NET] XSD DataSet`と TableAdapter`の機能。 私の contract`テーブルは標準的な契約情報と、`主要部署 'の列から構成されています。 このコラムは私の `Departments`テーブルへのhttps://en.wikipedia.org/wiki/Foreign_key[foreign key]です。ここに私は基本的な department name`、 id、` notes`を格納します。 これは私のhttps://en.wikipedia.org/wiki/Microsoft_SQL_Server [SQL Server]で設定され機能しています。

XSDツールを使用すると、両方のテーブルを一度にドラッグして、これら2つのテーブル間にある外部キーを自動的に検出/作成します。 メインページに入っていて契約データを表示しているときは、これは非常に便利です。

ただし、管理ページに移動して部門データを変更したとき。 私は通常このようなことをします:

Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()

taDepartment.Fill(dtDepartment)

しかし、現時点では、ここで壊れた外部キー参照があることを示す例外が投げられています。私は Contract` DataTable`がいっぱいになっていないので推測しています。

どうすればこの問題を解決できますか? 問題なく動作するようにXSDから外部キーを削除するだけでよいのですが、追加の整合性チェックを行い、XSDスキーマをデータベース内のSQLスキーマと一致させるのはいいことです。

2 Answer


11


DataSetのCheck-constraintをオフにしたり(そのプロパティに含まれている)、その関係のプロパティを変更したり、キーを単純な参照に変更したりできます。


0


プロパティメニューで `Check-Constraints`をオフにしてください。これが最善の方法です!