Linq根据是否有子集合(parentId)将集合分成两个

本文关键字:集合 两个 parentId 是否 子集合 Linq | 更新日期: 2023-09-27 18:14:06

假设模型(用于问题和问题的答案)

Question
int QuestionId
string Text
int? ParentId
int? UserId
List<Question> allQuestions = db.Fetch<Question>(@"Select * FROM Question");

如何根据ParentId和UserId将上面的问题集合分成两个集合。其中第一个集合包含带有特定UserId答案的问题,第二个集合包含没有该UserId答案的问题?

List <Question> questionsAndAnswers_NotAnsweredByUserId5 = allQuestions.(Linq?)

List <Question> questionsAndAnswers_AnsweredByUserId5 = allQuestions.(Linq?)

Linq根据是否有子集合(parentId)将集合分成两个

var byThatUser = allQuestions.Where(q => q.ParentId == certainUserId).ToList();
var notByThatUser = allQuestions.Where(q => q.ParentId != certainUserId).ToList();