XSD数据集并忽略外键

时间:2020-03-05 18:37:16  来源:igfitidea点击:

在使用.NET XSD的DataSet和TableAdapter功能的当前应用程序中,我有一个相当标准的表设置。我的"合同"表包含一些标准合同信息,并在"基层部门"列中有列。该列是我的"部门"表的外键,我在其中存储了基本的"部门名称"," id","注释"。这就是我的SQL Server中的所有设置和功能。

使用XSD工具时,我可以一次将两个表都拖入,它会自动检测/创建我在这两个表之间拥有的外键。当我在主页上并且正在查看合同数据时,这非常有用。

但是,当我进入管理页面修改部门数据时。我通常会这样做:

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

taDepartment.Fill(dtDepartment)

但是,这时抛出一个异常,表明这里有一个外键引用被破坏了,我猜测是因为我没有填写"合同" DataTable。

我该如何解决这个问题?我知道我可以简单地从XSD删除外键使一切正常,但是在那里进行添加的完整性检查并让XSD架构与数据库中的SQL架构匹配是很好的。

解决方案:

我们可以尝试关闭DataSet的Check-constraints(在其属性中),或者更改该关系的属性,然后将键更改为我们自己所需的简单引用。