Count(x => ...) 与 Where(x => ...).Count()

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

这两个 LINQ-to-Entities 查询之间有什么区别吗:

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

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

在性能和生成方面 SQL?

我试图自己生成 SQL,但我只知道如何从 IQueryable 中获取 SQL,但是 Count returns 的值直接。

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

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