我有一个微风查询来从我的数据库中获取一些值。
如果我想按字母顺序对值进行排序,则查询如下所示:
var query = EntityQuery.from("Words")
.orderBy("Text");问题是,我想先按长度对返回的值进行排序,然后按字母顺序排序。
例如,这组结果按字母顺序排序:
a
ab
b
bb如何使其按如下方式排序:
a
b
ab
bb??
我知道我可以编写一个函数,在数据从服务器返回后以我想要的方式进行排序,但我想知道是否可以更改查询,以便只需更改查询就可以像上面描述的那样对数据进行排序?
发布于 2013-08-09 01:24:06
在将数据发送回客户端之前,您可以通过在服务器上添加额外的筛选器步骤来完成此操作。
[HttpGet]
public IQueryable<Word> Words() {
return ContextProvider.Context.Words.ToList().OrderBy(customOrderByImpl;
}这可能性能不佳,因为在您的示例中,我不认为您可以利用任何数据库排序(至少通过EF)。这就是在对服务器内存中的结果进行排序之前调用ToList的原因。
希望这是有意义的。
https://stackoverflow.com/questions/18124660
复制相似问题