c# - Linq 计数与计数()
问题描述
和有什么区别
dbContext.foo.Count(q=>q==true);
和
dbContext.foo.Where(q=>q==true).Count();
性能有区别吗?
我偶然发现了此文档,但对我来说还不够清楚。任何帮助将不胜感激 :)
编辑:我从这个问题中发现,当涉及到列表时,差异很小,那么当它直接从数据库中查询时呢?
解决方案
不。
从您的代码示例来看,这似乎是在实体框架的上下文中。所以 LINQ 根本不执行,而是翻译成 SQL 并由 SQL 服务器执行。两种形式的翻译应该相同,但您可以通过探查器验证这一点,具体取决于您的特定数据库引擎。
推荐阅读
- c# - 如何使我的 fluent API 表可公开访问?
- iframe - DocuSign 嵌入 url 未在 iFrame 中呈现
- java - 调用 String replace() 时出现 IndexOutOfBounds 异常
- java - 如何在给定时间的下一小时内获得随机时间?
- c++ - 在 C++ 中生成任意嵌套的向量
- java - 为什么不允许使用instanceof,但泛型中允许使用Class.isInstance()?
- ruby - 不是类变量,但可能是实例变量——但在什么上?
- reactjs - 如何测试函数是否在功能性 React 组件中调用 onChange?
- javascript - How do I use a drupal views field value as Javascript Variable
- git - Git 的 @{upstream} 和 @{push} 有何不同?