我在當前應用程序中使用.NETXSDDataSet
和TableAdapter
功能具有相當標準的表設置。我的contracts
表由一些標準的合同信息組成,其中列爲primary department
。此列是foreign key到我的Departments
表,其中我存儲基本department name
,id
,notes
。這是所有設置和運作在我的SQL Server。XSD數據集並忽略外鍵
當我使用XSD工具時,我可以一次拖動兩個表,它會自動檢測/創建這兩個表之間的外鍵。當我在我的主頁上查看合同數據時,這很有用。
然而,當我去我的管理頁面修改部門的數據。我通常做這樣的事情:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
然而,在這一點上拋出一個異常說,大意是有一個外鍵引用這裏被打破,我猜,因爲我沒有Contract
DataTable
做填充。
我該如何解決這個問題?我知道我可以簡單地從XSD中移除外鍵以使事情正常工作,但是在那裏進行額外的完整性檢查並使XSD模式與數據庫中的SQL模式相匹配是很好的。