Linq查询数据表

时间:2011-04-12 15:43:09

标签: c# linq lambda datatable dataset

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

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

e.g。 学生表
名称主题状态
彼得数学失败了 乔治科学通行证 Joe IT Pass
罗杰历史其他

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

状态表
状态
通过
失败

现在我想验证学生表中的数据与主题表检查主题是否存在于主题表中。在这里,我想要排Joe IT,因为在Subjects表中它不存在它是无效的。

同样,我需要使用状态表检查学生表数据。


预期产出
主题IT
状态其他

我想要LINQ查询。

1 个答案:

答案 0 :(得分:1)

一种简单的方法:

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

假设受试者是受试者ds中的PK。