[英]LINQ select List where sub-list all items contains another list
我有一個帶有列表項的 model。
public class Semester{
public int Id { get; set; }
public List<SemesterParent> Parents { get; set; }
}
public class SemesterParent{
public int Id { get; set; }
public int SemesterId { get; set; }
public int ParentId { get; set; }
}
我有一個list<int>
的parentids
。 我想獲得Parents
在parentids
名單中的semester
名單。
例如
Semester{1,{}}
Semester{2,{}}
Semester{3,{1,2}}
Semester{4,{1}}
Semester{5,{2,4}}
當我有 ParentIdes {1,2}
結果是:
Semester{3,{1,2}}
Semester{4,{1}}
我使用此代碼。
var parentIds =
await _semesterTermStudentService.Select(m => m.IsAccept && m.StudentId == student.Id);
var semester=await _semesterService.FindAsync(m=>
m.Parents.Any(y => parentIds.Contains(y.ParentId)));
您可以執行以下操作。 這是工作代碼
List<Semester> s = new List<Semester>();
var parentIds = new List<int> { 1, 2 };
var result = s.Where(x => x.Parents != null && x.Parents.Any() && x.Parents.All(y => parentIds.Contains(y.Id))).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.