2008-08-01 68 views
25

我在当前应用程序中使用.NETXSDDataSetTableAdapter功能具有相当标准的表设置。我的contracts表由一些标准的合同信息组成,其中列为primary department。此列是foreign key到我的Departments表,其中我存储基本department name,id,notes。这是所有设置和运作在我的SQL ServerXSD数据集并忽略外键

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

然而,当我去我的管理页面修改部门的数据。我通常做这样的事情:

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

taDepartment.Fill(dtDepartment) 

然而,在这一点上抛出一个异常说,大意是有一个外键引用这里被打破,我猜,因为我没有ContractDataTable做填充。

我该如何解决这个问题?我知道我可以简单地从XSD中移除外键以使事情正常工作,但是在那里进行额外的完整性检查并使XSD模式与数据库中的SQL模式相匹配是很好的。

回答

10

您可以尝试打开检查约束关闭的数据集(它在它的属性),或改变这种关系的性质,以及改变的关键,简单的参考 - 给你。

0

在属性菜单关闭Check-Constraints,这是最好的方法!