C# OData$orderby查询中的自然排序
我正在ASP.NET API 2控制器中使用C# OData$orderby查询中的自然排序,c#,sorting,asp.net-web-api2,odata,C#,Sorting,Asp.net Web Api2,Odata,我正在ASP.NET API 2控制器中使用[EnableQuery](System.Web.Http.OData)来启用OData v3过滤/排序/分页。我注意到,使用$orderby子句返回的数据排序如下(这里有一些示例,它们是字符串,不一定有模式): 当我需要自然排序时: LoadTest1000_1 LoadTest1000_2 LoadTest1000_10 LoadTest1000_20 LoadTest1000_1000 LoadTest1000_2000 [etc] 如何启用这
[EnableQuery]
(System.Web.Http.OData)来启用OData v3过滤/排序/分页。我注意到,使用$orderby
子句返回的数据排序如下(这里有一些示例,它们是字符串,不一定有模式):
当我需要自然排序时:
LoadTest1000_1
LoadTest1000_2
LoadTest1000_10
LoadTest1000_20
LoadTest1000_1000
LoadTest1000_2000
[etc]
如何启用这种排序?是否有任何扩展点可以用来提供我自己的排序逻辑?我认为没有一种好方法可以做到这一点。SQL Server首先没有内置对自然排序的支持 也就是说,您可能可以使用自定义oData函数/操作。对于v3,请查看 否则,对于v4 无论你是谁,我都祝你成功
LoadTest1000_1
LoadTest1000_2
LoadTest1000_10
LoadTest1000_20
LoadTest1000_1000
LoadTest1000_2000
[etc]