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]
这两个 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]