BreezeJS查询订单长度?

BreezeJS查询订单长度?,breeze,Breeze,我有一个breeze查询从数据库中获取一些值 如果要按字母顺序排列值,则查询如下所示: var query = EntityQuery.from("Words") .orderBy("Text"); a b ab bb 问题是我想先按长度,然后按字母顺序对返回的值进行排序 例如,这组结果按字母顺序排列: a ab b bb 我如何按如下方式订购: var query = EntityQuery.from("Words") .orderBy("Text"); a b ab bb ? 我知

我有一个breeze查询从数据库中获取一些值

如果要按字母顺序排列值,则查询如下所示:

var query = EntityQuery.from("Words")
.orderBy("Text");
a
b
ab
bb
问题是我想先按长度,然后按字母顺序对返回的值进行排序

例如,这组结果按字母顺序排列:

a
ab
b
bb
我如何按如下方式订购:

var query = EntityQuery.from("Words")
.orderBy("Text");
a
b
ab
bb
?


我知道我可以编写一个函数,在从服务器返回数据后,按照我想要的方式对数据进行排序,但我想知道是否可以更改查询,以便仅通过更改查询即可按上述方式对数据进行排序?

在将数据发送回客户端之前,您可以通过在服务器上添加额外的筛选步骤来完成此操作

[HttpGet]
public IQueryable<Word> Words() {
  return ContextProvider.Context.Words.ToList().OrderBy(customOrderByImpl;
}
[HttpGet]
公共语言词汇{
返回ContextProvider.Context.Words.ToList().OrderBy(customOrderByImpl;
}
这可能比性能差,因为在您的示例中,我认为您不能利用任何数据库排序(至少通过EF)。这就是为什么在对服务器内存中的结果进行排序之前调用ToList

希望这是有意义的