我有一个场景,我需要过滤包含在父问题中的子list<object> ResponseIssues ,它也是一个. 对于这个例子,我有 10 个问题要从表中撤回,无论是否有 ResponseIssues,我总是需要撤回这些问题。 list<object>
我的查询似乎有几个问题。第一个问题是问题的数量从10 变为 1,因为我目前只有一个与ResponseIssues相关的问题。我需要所有问题回来。
第二个问题是,当我仔细观察ResponseIssues child时list<object>。当我看到与问题相关的记录时,它不会按SuveryPeriod和RespondentByQuarterId过滤掉行。我期待一行,我得到三行,其中两行来自上一时期。Responses 子列表也会出现同样的问题。
下面是我当前的代码。关于如何在考虑上述问题的情况下重组查询并返回 Questions 对象而不是匿名对象的任何想法?
var question = await _dbContext.Questions
.Include(x => x.Responses)
.Include(x => x.ResponseIssues)
.Include(x => x.SurveySection)
.Include(x => x.Survey)
.Where(x => x.SurveyId == surveyId &&
x.Responses.Any(r => r.SiteUserId == siteUserId &&
r.SurveyPeriodId == surveyPeriodId &&
r.RespondentByQuarterId == 2
) &&
x.ResponseIssues.Any(ri => ri.SurveyPeriodId == surveyPeriodId &&
ri.RespondentByQuarterId == 2
))
.OrderBy(x => x.Position)
.ToListAsync();
慕的地10843
相关分类