在 Entity Framework 中添加 AsNoTracking 会影响计数吗?

Does adding AsNoTracking in Entity Framework impact a Count?

在Entity Framework6中添加AsNotracking函数对计数有影响吗?更具体地说,它会提高还是降低性能,或者计数结果会被缓存?

使用 AsNoTracking

myContext.Products.AsNoTracking().Count();

没有 AsNoTracking

myContext.Products.Count();

由于此查询未生成任何实体,因此没有任何可跟踪的内容,因此性能没有差异。由此生成的 SQL 看起来像这样:

SELECT COUNT(1)
FROM [dbo].[Products]

这显然是 return 一行。如果它正在创建要跟踪的实体,则它必须 return table 中的每个实体。