C# 基于数据集的LINQ查询
我想打印出类型化数据集中的表数,以及与每个表关联的字段数和键字段{primary,foreign}。如何使用LINQ获取此信息?即使它是一个类型化的数据集,您仍然可以使用数据集的DataTables属性和DataTable的DataColumns属性。但是,要将Linq用于这些属性,必须对相应的属性调用.OfType或.OfType,将其转换为IEnumerable,以便可以对它们运行Linq查询。之后,您只需检查相应的属性,以确定什么是主键或外键。在最后一部分中,我不确定这些值是否有属性,或者是否需要检查数据关系来确定这一点 编辑:C# 基于数据集的LINQ查询,c#,linq,dataset,traversal,C#,Linq,Dataset,Traversal,我想打印出类型化数据集中的表数,以及与每个表关联的字段数和键字段{primary,foreign}。如何使用LINQ获取此信息?即使它是一个类型化的数据集,您仍然可以使用数据集的DataTables属性和DataTable的DataColumns属性。但是,要将Linq用于这些属性,必须对相应的属性调用.OfType或.OfType,将其转换为IEnumerable,以便可以对它们运行Linq查询。之后,您只需检查相应的属性,以确定什么是主键或外键。在最后一部分中,我不确定这些值是否有属性,或者
实际上,DataTable上有一个PrimaryKey属性,它将返回组成PrimaryKey的DataColumns数组。对于外键,我认为您必须深入研究DataRelations集合,以确定哪些列是外键。这并不是linq的真正用途。不知道是否可以从STD lol获得模式,如果可以,可以使用linq转换为xml。否则,它会一直反射。