【发布时间】:2017-08-02 13:19:15
【问题描述】:
我有以下问题
var resources = Db.RESOURCE_Resource
.Include(i => i.RESOURCE_Value.Where(s => s.ApplicatieID == applicationId))
.Include(i => i.RESOURCE_Category)
.Where(w => missingCultureIds.All(a => w.RESOURCE_Value.All(an => an.CultureID != a)));
除了想要返回查询返回的项目之外,我还想返回列表的计数。在此查询之后,将在 IQueryable 上实现更多过滤器,但我需要事先进行计数。
我不能更改查询以使其包含计数而不导致多个查询吗?我想要所有这些项目的计数,但我只想要几个项目的数据(之后用
resources.Skip(pageSize).Take(pageSize*pageNumber)
所以我想生成一个查询,它只发送减少的对象列表,但发送更多对象的计数。我知道你可以从像
这样的集合中创建匿名类型.Select(s => new { property = s.item }
是否可以做我想做的事,还是必须通过存储过程/表值函数来处理?
【问题讨论】:
-
Cant I change the query so it includes the count without it leading to multiple queries?不是真的,不。另见stackoverflow.com/questions/29218164/…。 -
使用 .Include 和 .Where 不起作用。