我无法弄清楚如何查询嵌套/关联的集合。
情景是:
1个组列表与许多候选人相关联
同一组与许多测试相关联
因此,在一个组的集合中,每个组都有两个相关的列表
我需要获取与登录用户所属的任何和所有组相关联的所有测试。
我在下面的代码中尝试的内容显示无法将类型IQueryable隐式转换为ObjectQuery
tests = db.Tests.Where
(t => t.OAS_Group.Candidates.All
(c=>c.UserName == HttpContext.User.Identity.Name)
);
答案 0 :(得分:0)
错误似乎是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)
);