Linq选择另一个linq查询中的列值

时间:2015-11-30 22:19:18

标签: linq

所以我想选择所有具有另一个linq查询中的contact_id的行。

var test1 = this.DB.Links.Where(l => l.INSTANCE_ID == this.InstanceId);
var test2 = this.DB.Links.Select (l => test1.Contains(l.CONTACT_ID)));

这个的正确语法是什么?

编辑:尝试使用ToList()首先实现它,得到此错误:Argument 1: Cannot convert from long? to Anonomous type long? CONTACT_ID

1 个答案:

答案 0 :(得分:0)

我认为您需要使用SelectToList来实现第一个查询中CONTACT_ID的集合。此外,第二个查询需要Where而不是Select

var test1 = this.DB.Links
    .Where(l => l.INSTANCE_ID == this.InstanceId)
    .Select(l => l.CONTACT_ID)
    .ToList();
var test2 = this.DB.Links.Where(l => test1.Contains(l.CONTACT_ID)));