OData WebAPI:如何在函数中硬编码OrderBy?

OData WebAPI: How to hardcode OrderBy in Function?

我正在使用 OData WebAPI (Microsoft.AspNet.OData)。由于某些原因,我需要函数中的铁杆 OrderBy。例如,return 如下所示,

 return DbContext.Companies.OrderByDescending(a => a.CompanyName);

当我执行该函数时,orderby 硬编码不起作用,我还检查了 sqlprofile,似乎框架做了什么并将其删除。如果我使用 $orderby queryoption,那没问题。

有大佬知道怎么解决吗?提前谢谢。

一种解决方法是将 CompanyName 作为复合键的一部分并指定 Column 属性。我怀疑如果不将 属性 作为键的一部分并仅使用 Column 属性,它是否会起作用,但您可以快速尝试一下。

另一种解决方法是在控制器的 ODataQueryOptions 中插入一个 orderby 子句。

此问题已发布至 GitHub WebAPI issue tracker

如果其他开发者需要对此感兴趣,您可以在那里获得更多信息。