2013-05-28 46 views
1

的一部分,我有兩個列表如下C#檢查列表是另一個列表

var query1 = from enrollments in db.Enrollments 
      where enrollments.studentID == studentID && enrollments.result >= 50 && enrollments.enrolled == false 
      select enrollments.subjectID; 
var query2 = from prerequisites in db.Prerequisites 
       where prerequisites.subjectID == subjectID 
       select prerequisites.prerequisiteID; 

現在我要確保在QUERY2所有號碼QUERY1存在。換句話說,我想確保查詢2是查詢1的一部分。

任何想法?

PS

- 你可以肯定的是subjectIDprerequisiteID是一回事

-I可以QUERY1和QUERY2轉換成列表一樣,query.ToList()

回答

5

你可以簡單地檢查看到, query2query1之間設置差爲空集:

var isSubset = !query2.Except(query1).Any(); 

查看LINQ方法Enumerable.ExceptEnumerable.Any

相關問題