我不知道如何查询嵌套/关联的集合。
场景是:
1组列表与许多候选人相关联同一组与许多测试关联因此,在一个组集合中,每个组都有两个相关联的列表
我需要获取与登录用户所属的任何和所有组相关联的所有测试。
我在下面的代码中尝试的内容显示无法将类型IQueryable隐式转换为ObjectQuery
tests = db.Tests.Where
(t => t.OAS_Group.Candidates.All
(c=>c.UserName == HttpContext.User.Identity.Name)
);
错误似乎是tests
和右侧表达式之间的类型不匹配。是否需要将其分配给同一个变量?如果是,您能否将tests
的类型更改为IQueryable
?由于ObjectQuery
同时实现IQueryabl<T>
和IQueryable
,因此您应该能够。
IQueryable<Test> tests = null;
// some other assignment to tests
tests = db.Tests.Where
(t => t.OAS_Group.Candidates.All
(c=>c.UserName == HttpContext.User.Identity.Name)
);