将列与有效值进行比较

时间:2011-04-11 12:32:35

标签: c# linq datatable dataset linq-to-objects

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

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

e.g。
学生表
名称主题
彼得数学 乔治科学
乔IT 罗杰历史

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

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

同样,我需要检查学生表数据与多个表,如主题。

我想要LINQ查询。

1 个答案:

答案 0 :(得分:1)

使用以下查询

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