LINQ查询DataSet

时间:2009-12-22 12:52:25

标签: c# linq dataset traversal

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

1 个答案:

答案 0 :(得分:5)

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

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