首页 > 解决方案 > Linq 计数与计数()

问题描述

和有什么区别

dbContext.foo.Count(q=>q==true);

dbContext.foo.Where(q=>q==true).Count();

性能有区别吗?

我偶然发现了此文档,但对我来说还不够清楚。任何帮助将不胜感激 :)

编辑:我从这个问题中发现,当涉及到列表时,差异很小,那么当它直接从数据库中查询时呢?

标签: c#linq

解决方案


不。

从您的代码示例来看,这似乎是在实体框架的上下文中。所以 LINQ 根本不执行,而是翻译成 SQL 并由 SQL 服务器执行。两种形式的翻译应该相同,但您可以通过探查器验证这一点,具体取决于您的特定数据库引擎。


推荐阅读