【问题标题】:LINQ Querying Against DataSet针对数据集的 LINQ 查询
【发布时间】:2010-12-29 02:34:34
【问题描述】:

我想打印出 Typed 数据集中的表数以及与每个表关联的字段数和关键字段 {primary,foreign}。如何使用 LINQ 获取这些信息?

【问题讨论】:

  • 这不是 linq 的用途。不知道是否可以从 STD 获取架构(大声笑),如果可以的话,您可以使用 linq to xml。否则它会一直反射。

标签: c# linq dataset traversal


【解决方案1】:

即使它是一个类型化的数据集,您仍然可以使用 DataSet 的 DataTables 属性和 DataTable 的 DataColumns 属性。但是,要将 Linq 与这些一起使用,您必须在适当的属性上调用 .OfType<DataTable>().OfType<DataColumn>() 以将其转换为 IEnumerable 以便您可以对它们运行 Linq 查询。之后,您应该只需要检查相应的属性即可找出主键或外键。我不确定最后一部分是否存在这些值的属性,或者您是否必须检查数据关系才能确定这一点。

编辑: DataTable 上实际上有一个 PrimaryKey 属性,它将返回组成 PrimaryKey 的 DataColumns 的数组。对于外键,我认为您必须深入研究 DataRelations 集合以确定哪些列是外键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多