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

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

用lambda实现方法如下:

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;

用lambda实现In:

db.L_Reply.SelectMany(s => logs, (s, p) => new {s, p})
.Where(@t => @t.s.LogID == @t.p.ID)
.Select(@t => @t.s).Count()

上一篇:第四届 CCCC 团体程序设计天梯赛 游记


下一篇:函数内部用setTimeout()调用自身函数相当于setInterval()