代码之家  ›  专栏  ›  技术社区  ›  Dillie-O

XSD数据集并忽略外键

  •  29
  • Dillie-O  · 技术社区  · 17 年前

    我在当前应用程序中使用 .NET XSD DataSet TableAdapter 特征。我的 contracts 表由一些标准合同信息组成,其中一列用于 primary department . 此列是 foreign key 对我 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模式相匹配是很好的。

    2 回复  |  直到 7 年前
        1
  •  11
  •   Insane Skull    9 年前

    您可以尝试关闭对数据集的检查约束(它在其属性中),或者更改该关系的属性,然后将键更改为一个简单的引用(由您决定)。

        2
  •  0
  •   user8619168    7 年前

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