从数据库中检索项目列表时出现问题。这就是我的尝试。
List<SubjectAreaGroup> subjectAreas = examInstance.CurrentQuestionGroup.QuestionTypeGroups.Select(q => q.SubjectAreaGroups).toList();
但是当我这样做时,它给了我一个错误,我无法将SubjectAreaGroup List转换为... SubjectAreaGroup List。如果它们是同一个东西那么为什么我不能转换它们呢?
答案 0 :(得分:0)
我认为问题是由于q.SubjectAreaGroups
属性为每个 QuestionTypeGroup提供了List<SubjectAreaGroup>
。因此,您的Select
语句为您提供了两个级别的序列:IEnumerable<List<SubjectAreaGroup>>
。
要解决此问题,您只需使用SelectMany
运算符将生成的序列展平为一个序列:
List<SubjectAreaGroup> subjectAreas =
examInstance.CurrentQuestionGroup
.QuestionTypeGroups
.SelectMany(q => q.SubjectAreaGroups)
.ToList();