39

我在当前应用程序中使用.NET XSD DataSetTableAdapter功能设置了一个非常标准的表。我的contracts表包含一些标准合同信息,其中有一列用于primary department. 此列是我的表的外键,我Departments在其中存储基本的department name, id, notes。这是我的SQL Server中的所有设置和功能。

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

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

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

taDepartment.Fill(dtDepartment)

但是,此时会抛出一个异常,大意是这里有一个外键引用被破坏,我猜是因为我没有Contract DataTable填充。

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

4

1 回答 1

13

您可以尝试关闭 DataSet 上的 Check-constraints(它在其属性中),或更改该关系的属性,并将键更改为简单引用 - 由您决定。

于 2008-08-01T19:52:14.227 回答