gpt4 book ai didi

c# - DataSet 中 DataRelation 的用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:13 25 4
gpt4 key购买 nike

我正在处理的 C# 程序需要将数据导出到一个或多个数据表。这些表的某些列将相互关联,这样一个表的 ID 列可能会被另一个表的单元格引用。这似乎是设置 DataRelation 的常见情况。但我正在尝试了解这些关系以后如何实际使用。

我对关系数据库有一点经验,但不多。我了解 SQL 查询和类似 LEFT join、right join 等的东西。我在 Access 中做了一些工作,使用 GUI 和手动创建查询。但我从未在数据库本身中创建任何关系。我一分钟前在 Access 中试过这个。创建关系后,我尝试将我的两个测试表添加到查询中,并且自动创建了连接。

但是,当我实际查看实际 SQL 时,它实际上包含一个从关系派生的 JOIN 命令。但这也意味着查询根本不依赖于关系。如何在没有像 Access 这样的拖放式查询编辑器的数据库中使用关系?

我想要在数据库中创建关系或在 DataSet 中创建 DataRelation 的唯一原因是我可以暗示应该存在哪些关系但不一定强制它们存在?

最佳答案

DataRelations 用于:

  • 强制引用完整性(您不能引用父表中不存在的行)
  • 通过关系导航,例如获取关系的子行或父行:

    DataRow[] orderRows = customerRow.GetChildRows("Customers_Orders");

  • 使用引用父行或子行的表达式创建计算列

    OrderTotalColumn.Expression = "Sum(Child(Orders_OrderDetails).Quantity * Child(Orders_OrderDetails).UnitPrice)";

DataRelations 也用于 Windows 窗体绑定(bind)系统

关于c# - DataSet 中 DataRelation 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1331809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com