【发布时间】:2020-04-11 11:45:21
【问题描述】:
假设我们有一个复杂的生成查询...
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 个 db 查询,并且由于“查询”非常复杂,它会导致一些性能问题。是否有可能使用 EF 和单个数据库查询来实现这一点?
更新:EF Core 3.1 版
【问题讨论】:
-
EF Core 版本?
-
EF Core 3.1 版
标签: c# performance entity-framework entity-framework-core distinct