实体框架核心 - Skip&使用SELECT TOP(1)获取多个查询的结果

时间:2017-04-07 13:46:21

标签: c# entity-framework entity-framework-core paging

我使用带分页的EF(skip& top)从AzureSQL获取记录。 代码:

     var query = _context.Kits
            .Include(k => k.KitStatuses)
            .Where(t => t.X == y)
            .OrderBy(t => t.Z)
            .Skip(skip)
            .Take(pageSize).Select(t => new
            {
                Id = t.Id,
                Barcode = t.Barcode,
              ...
            }).ToListAsync();

问题是SELECT TOP(pageSize)应该只有一个查询,但在profiler中我可以看到每个记录1个查询(在包含的KitStatuses表上):

exec sp_executesql N'SELECT TOP(1) [k3].[Updated]
FROM [KitStatuses] AS [k3]
WHERE ([k3].[Status] = 1) AND (@_outer_Id1 = [k3].[Kit_Id])',N'@_outer_Id1 uniqueidentifier',@_outer_Id1='868780F2-C121-C209-65F1-08D4442D5A8A'

任何想法为什么?

如果我不包含子集合,它可以正常工作(1个查询)。

谢谢你&亲切的问候, H3k0

0 个答案:

没有答案