Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 带有GroupJoin的投影中的EF急切负载收集_Entity Framework_Linq To Entities - Fatal编程技术网

Entity framework 带有GroupJoin的投影中的EF急切负载收集

Entity framework 带有GroupJoin的投影中的EF急切负载收集,entity-framework,linq-to-entities,Entity Framework,Linq To Entities,我试图在EF中使用Linq左连接到实体,并在其中一个实体中加载一个集合 左连接使用以下代码: var joinedResult = context.Set<Client>() .GroupJoin( context.Set<Project>(), client => client.Id, project => project.ClientId, (client, projects) =&g

我试图在EF中使用Linq左连接到实体,并在其中一个实体中加载一个集合

左连接使用以下代码:

var joinedResult = context.Set<Client>()
    .GroupJoin(
        context.Set<Project>(),
        client => client.Id,
        project => project.ClientId,
        (client, projects) => new
        {
            Client = client,
            Project = projects.FirstOrDefault()
        })
    .ToList();
但是,当从业务层之外的客户机对象访问集合时,我不断得到一个
ObjectDisposedException

在从业务层返回之前,直接在查询之后访问字段,如下所示:

joinedResult.ForEach(result => result.Client.Categories.Count() /* NOP */);
这是可行的,但它当然会为每个结果生成一个新的数据库查询

我应该如何继续加载此集合

joinedResult.ForEach(result => result.Client.Categories.Count() /* NOP */);