我正在尝试使用 SelectMany 来评估带有条件的第一个查询,根据这些结果执行另一个查询。我被告知 SelectMany 应该能够做到这一点。我遇到的问题是 SelectMany 似乎忽略了第一个 lambda 表达式中的条件。我的问题可能与第一个表达式有关,但我不太确定。任何想法我做错了什么。
第一的
//get source based on user and active flag
var query = _sourceRepository.GetTable().Where(s => s.ActionItemStates.Any(ais => ais.UserId == user.Id && ais.IsActive == active));
第二 - 忽略第一个条件
var queryActionItems = query.SelectMany(x => x.ActionItemStates).OrderBy(x => x.ActionItem.SortOrder);