无法使用嵌套集合将类型IQueryable隐式转换为ObjectQuery

本文关键字:IQueryable 转换 ObjectQuery 类型 嵌套 集合 | 更新日期: 2023-09-27 17:58:23

我不知道如何查询嵌套/关联的集合。

场景是:
1组列表与许多候选人相关联同一组与许多测试关联因此,在一个组集合中,每个组都有两个相关联的列表
我需要获取与登录用户所属的任何和所有组相关联的所有测试。

我在下面的代码中尝试的内容显示无法将类型IQueryable隐式转换为ObjectQuery

tests = db.Tests.Where
(t => t.OAS_Group.Candidates.All
    (c=>c.UserName == HttpContext.User.Identity.Name)
);  

无法使用嵌套集合将类型IQueryable隐式转换为ObjectQuery

错误似乎是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)
        ); 
相关文章: