【发布时间】:2014-04-11 06:53:16
【问题描述】:
我有 2 个实体,分别称为 Request 和 Days。请求有很多天,我遇到的问题是以我想要的方式正确排序我的实体。
Days 有一个名为 Hours 的字段,我需要先按 Hours 字段以天为单位对其进行排序(但是,首先是所有只有一天的字段),然后是请求中的天数。
我尝试了很多 orderby/thenby 组合,但都无法完全正确。
这是我最近尝试过的一个:
sortingFunction = x => x.Days.OrderBy(h => h.Hours).Count();
有什么帮助吗?
【问题讨论】:
-
在“OrderBy”之后使用“ThenBy”:stackoverflow.com/a/3047467/1380061
-
目前尚不清楚您将如何按天数对请求进行排序。每个请求都有很多天。您想按小时总和、平均小时数还是分钟小时数排序?
-
ThenBy 和 OrderBy 不起作用,可能是因为这是在不同的实体上。 @SergeyBerezovskiy 每天都有一个小时字段,我需要在请求中的天数为 1 的情况下升序排序,然后按请求中的天数排序(我之前使用 Count())
-
还不清楚你想做什么,给我们看更多代码。
-
代码的哪一部分在这种情况下会有所帮助?我需要得到一个按我提到的方式排序的请求列表。 var reqs = db.Requests.OrderBy(..);我需要一个适当的查询来放置内部顺序,以便按照我解释的规则进行排序?由于请求有一天或多天,天有一个名为小时的字段,我需要对其进行排序,因此第一个元素是所有有一天的请求,并按小时升序排序,之后,所有请求都带有更多不是一个按升序排列的请求,所以基本上它是从最少几小时到最多几天排序的
标签: c# sql linq entity-framework