我使用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)); }
有人可以建议我如何在我的第一个查询中获取整个表格吗?
答案 0 :(得分:0)
在第一个查询结束时使用.ToList()
。这会强制查询被执行,枚举并实现到结果中,而不是保留为抽象语法树。