提高多个计数的效率

时间:2017-08-23 15:21:32

标签: asp.net-mvc

我的问题是关于“最佳实践”和/或“提高效率”的查询和计数MVC。让我先介绍一下这个场景。 在我的数据库中,我有一个对象表,其中包含类型A,B或C以及状态1,2,3或4.在我的应用程序的首页上,我显示具有不同状态的不同对象的数量(对象)状态1:22,对象A状态2:35,......等)

目前我正在做的是查询首先找到类型为A的所有对象并将其设置为变量。然后我做这样的事情:每个状态variable.Where(x => x.status = 1).Count()。这确实给了我想要和需要的东西,但是你可以想象它不是最有效的方法,并且需要大量的记录,这需要花费很多时间。

我现在的问题是:如何改进我的代码,以便在最短的时间内获得不同状态的计数?

非常感谢您的回答!

1 个答案:

答案 0 :(得分:0)

至少您应该将Count与谓词Count(x => x.status == 1)一起使用。此重载功能不会从数据库中加载实体,而只是通过高效的SQL查询在数据库端对其进行计数。