我的问题是关于“最佳实践”和/或“提高效率”的查询和计数MVC。让我先介绍一下这个场景。 在我的数据库中,我有一个对象表,其中包含类型A,B或C以及状态1,2,3或4.在我的应用程序的首页上,我显示具有不同状态的不同对象的数量(对象)状态1:22,对象A状态2:35,......等)
目前我正在做的是查询首先找到类型为A的所有对象并将其设置为变量。然后我做这样的事情:每个状态variable.Where(x => x.status = 1).Count()
。这确实给了我想要和需要的东西,但是你可以想象它不是最有效的方法,并且需要大量的记录,这需要花费很多时间。
我现在的问题是:如何改进我的代码,以便在最短的时间内获得不同状态的计数?
非常感谢您的回答!
答案 0 :(得分:0)
至少您应该将Count
与谓词Count(x => x.status == 1)
一起使用。此重载功能不会从数据库中加载实体,而只是通过高效的SQL查询在数据库端对其进行计数。