使用linq到Sql Except条件选择整个表

时间:2014-04-02 04:10:19

标签: c# sql linq

我使用linq to sql query来比较两个不同表的结果。比如我的第一张桌子就像是Id&电子邮件列和我的第二个表仅作为电子邮件列。如何使用linq - Intersect / Except条件从第一个表(包括Id列)中选择所有内容,但不在第二个表中选择。

我正在使用linq查询,如下所示:

var result = table1.Select(t => t.Email).Except(table2);

查询工作正常,但问题是,除非我编写另一个foreach循环,否则我无法从结果中获取Id值。

例如:

foreach(var email in result) { table1.Where(t => t.Email.Equals(email)); }

有人可以建议我如何在我的第一个查询中获取整个表格吗?

1 个答案:

答案 0 :(得分:0)

在第一个查询结束时使用.ToList()。这会强制查询被执行,枚举并实现到结果中,而不是保留为抽象语法树。