实体框架-不同的方面-性能优化

问题描述 投票:1回答:1

假设我们有一个复杂的生成查询...

IQueryable<...> query = ... //something complex

然后我想返回多个“方面”,而我当前的实现是...

        var facets = new 
        {
            Countries = query.Select(r => new { Id = r.CountryId, Name = r.Country.Name })
                .Distinct().ToList(),
            Regions = query.Select(r => new { Id = r.RegionId, Name = r.Region.Name })
                .Distinct().ToList(),
            ... //7 more facets
        };

通过此实现,我有9个ToList(),所以我将有9个数据库查询,并且由于“查询”非常复杂,因此会引起一些性能问题。是否有可能通过EF和单个数据库查询来实现此目标?

更新:EF Core版本3.1

c# performance entity-framework entity-framework-core distinct
1个回答
0
投票

当前(EF Core 3.1)无法通过单个数据库查询获得所需的结果形状。

© www.soinside.com 2019 - 2024. All rights reserved.