我在当前应用程序中使用.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模式相匹配是很好的。