首页 > 代码库 > 怎样用LINQ或EF生成NOT IN语句

怎样用LINQ或EF生成NOT IN语句

例如:有一个问卷表Questionnaire和一个活动与问卷的关系表ActivityOption_Questionnaire,现在我们要找出不在活动中的问卷。

用EF实现方法如下:

var notIn = db.Questionnaires.Where(a => !((db.ActivityOption_Questionnaire_s.Select(b => b.QuestionnaireID)).Contains(a.ID)));

 

 

用LINQ实现方法:

var notIn = from a in Questionnaire
where !((from b in db.ActivityOption_Questionnaire_s select b.QuestionnaireID).Contains(a.ID))
select a;

怎样用LINQ或EF生成NOT IN语句