Count(x => ...)vs Where(x => ...)。Count()

时间:2016-08-10 08:43:07

标签: c# entity-framework linq-to-entities

这两个LINQ到实体查询之间是否有任何区别:

context.Table.Count(x => ...)

context.Table.Where(x => ...).Count()

在性能和生成的SQL方面?

我试图自己查看生成的SQL,但我只知道如何从IQueryable获取SQL,但Count直接返回值。

1 个答案:

答案 0 :(得分:0)

我已经设法看到了SQL(感谢@dasblinkenlight),答案是 - 不,两个LINQ查询生成完全相同的SQL查询,至少对于没有分组的简单查询:

SELECT 
    [GroupBy1].[A1] AS [C1]
    FROM ( SELECT 
        COUNT(1) AS [A1]
        FROM [dbo].[Table] AS [Extent1]
        WHERE <condition>
    )  AS [GroupBy1]