[英]Linq: select objects where list contains properties that must be in another list
我已經閱讀了許多使用linq和列表的解決方案,但我似乎找不到解決我的問題的方法。 我已經描述了下面的情況。 詳細信息列表包括系統中的每個詳細信息。
List<Detail> allDetails
Detail
List<Program> programs
Program
int ID
int code
我有一個特定角色可以訪問的程序ID列表。
int[] specificPrograms
要求是我需要從allDetails返回一個Details列表,其中allDetails中Detail的程序列表必須全部包含在specificPrograms列表中。
例如:如果有2個詳細信息包含以下程序
Detail 1
Programs ID Code
---------------------------------
1 111
2 222
3 333
4 444
Detail 2
Programs ID Code
---------------------------------
1 111
3 333
SpecificPrograms contains IDs: 1, 3, 4
僅返回詳細信息2,因為每個詳細信息中的程序必須存在於specificPrograms列表中。
var result = allDetails.Where(detail => detail
.programs.All(x => SpecificPrograms.Contains(x.ID)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.