gpt4 book ai didi

c# - OData $orderby 查询中的自然排序

转载 作者:行者123 更新时间:2023-11-30 12:39:53 24 4
gpt4 key购买 nike

我在 ASP.NET API 2 Controller 中使用 [EnableQuery] (System.Web.Http.OData) 来启用 OData v3 过滤/排序/分页。我注意到使用 $orderby 子句返回的数据按如下方式排序(这里有一些示例 - 它们是字符串,不一定具有模式):

LoadTest1000_1
LoadTest1000_10
LoadTest1000_1000
LoadTest1000_2
LoadTest1000_20
[etc]

当我需要自然排序时:

LoadTest1000_1
LoadTest1000_2
LoadTest1000_10
LoadTest1000_20
LoadTest1000_1000
LoadTest1000_2000
[etc]

如何启用这种排序?是否有任何扩展点可用于提供我自己的排序逻辑?

最佳答案

我认为没有什么好的方法可以做到这一点。 SQL Server 一开始就没有内置对自然排序的支持。

也就是说,您可以使用自定义 oData 函数/操作。对于 v3,请查看 https://learn.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/odata-actions

否则,对于 v4 https://learn.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/odata-actions-and-functions

无论你是一个随机的互联网陌生人,我都希望你成功!

关于c# - OData $orderby 查询中的自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43687805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com