Linq Count vs Count()

时间:2018-09-17 05:36:05

标签: c# linq

有什么区别
dbContext.foo.Count(q=>q==true);

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

性能之间有区别吗?

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

编辑: 我从这个Question 中发现,列表的差异很小,什么时候直接从数据库中查询呢?

1 个答案:

答案 0 :(得分:2)

否。

在您的代码示例中,它看起来像是在Entity Framework的上下文中。因此,LINQ根本不执行,而是转换为SQL并由SQL服务器执行。两种格式都应翻译相同,但是您可以通过分析器验证此格式,具体取决于您的特定数据库引擎。