不等于/不包含lambda表达式中的操作

时间:2012-08-27 13:10:23

标签: asp.net-mvc-3 visual-studio-2010 linq

我的查询有点像,

var subQuery = contacts_requests.Where(i => i.requests_usr_id >= 1).Select          
           (i => i.Usr_contacts_requests_from_usr_id ).ToArray();
var query = biographic_details.Join(profiles_companies, i => i.usr_id, j => j.company_usr_id,
           (i,j)=>new{
                      Usr_bio_usr_id }).where(p=>subQuery.Contains(i.company_usr_id)).ToArray();

我想不包含contains的操作,你可以告诉我如何实现它。

2 个答案:

答案 0 :(得分:14)

而不是

p => subQuery.Contains(i.company_usr_id) 

使用

p => !subQuery.Contains(i.company_usr_id)

请注意方法调用前的!!运算符(又名Logical negation operator)只是否定了以下表达式的结果。因此Contains变为Not Contains

答案 1 :(得分:0)

要实现不包含你可以使用!subQuery.Contains(i.company_usr_id)。