C# 数据表上的Linq查询

C# 数据表上的Linq查询,c#,linq,lambda,datatable,dataset,C#,Linq,Lambda,Datatable,Dataset,我有两个数据集ds1和ds2 ds1包含ds2中使用的有效值,例如ds1包含包含数学、科学和历史的主题表。ds2包含学生表学生表包含主题列。ds2->Student->Subject值应出现在ds->Subject表中 如何以有效的方式实施此类验证。我不想遍历student表的每一行和每一列 e、 g。 学生表 姓名受试者状态 彼得数学不及格 乔治科学通行证 乔:它通过了 罗杰历史其他 主题表 主题 数学 科学 数学 历史 状态表 状态 通过 失败 现在我想对照Subject表验证Student

我有两个数据集ds1和ds2 ds1包含ds2中使用的有效值,例如ds1包含包含数学、科学和历史的主题表。ds2包含学生表学生表包含主题列。ds2->Student->Subject值应出现在ds->Subject表中

如何以有效的方式实施此类验证。我不想遍历student表的每一行和每一列

e、 g。 学生表
姓名受试者状态
彼得数学不及格
乔治科学通行证
乔:它通过了
罗杰历史其他

主题表
主题
数学
科学
数学
历史

状态表
状态
通过
失败

现在我想对照Subject表验证Students表中的数据,检查Subject表中是否存在该主题。这里我想要它,因为它不在Subjects表中,它是无效的

类似地,我需要用Status表检查Students表数据


预期产量
主题
其他身份

我需要LINQ查询。

一种简单的方法:

var noSubject =
  ds.Student.AsEnumerable().Where(s => ds.Subject.Rows.Find(s.Subject) == null);

假设Subject是Subject ds中的PK

目前我正在使用DataTable进行查询。到目前为止,在LINQ查询中,您有什么困难?