C# 将OData查询转换为DataContract模型类
我有一个n层应用程序。我已经在后端的内部类型和在前端的webApi中公开的内部类型之间解耦了模型 我正在尝试使用ODataQueryOptions在前端使用查询,我面临的问题是前端不知道我的模型的属性。是否有一种通用方法可以将webApi中公开的前端名称转换为ODataQueryOptions需要的内部属性名称 i、 我可以用这个代码从查询中获取属性名C# 将OData查询转换为DataContract模型类,c#,entity-framework,asp.net-web-api,C#,Entity Framework,Asp.net Web Api,我有一个n层应用程序。我已经在后端的内部类型和在前端的webApi中公开的内部类型之间解耦了模型 我正在尝试使用ODataQueryOptions在前端使用查询,我面临的问题是前端不知道我的模型的属性。是否有一种通用方法可以将webApi中公开的前端名称转换为ODataQueryOptions需要的内部属性名称 i、 我可以用这个代码从查询中获取属性名 ODataQueryOptions<MyModel> queryString; if (queryString.OrderBy
ODataQueryOptions<MyModel> queryString;
if (queryString.OrderBy != null && queryString.OrderBy.OrderByClause != null)
{
foreach (OrderByNode node in queryString.OrderBy.OrderByNodes)
{
OrderByPropertyNode typedNode = node as OrderByPropertyNode;
}
}
但现在我必须使用大写字母,因为它与后端相耦合
http://localhost:8888/jobs?$orderby=Name desc
我必须手动编写属性之间的转换吗?还是有办法实现这一点?您使用的是System.Web.Http.OData还是System.Web.OData? 如果您使用System.Web.OData,您已经实现了名称别名,并且您可以不费吹灰之力地做任何事情
http://localhost:8888/myModel?$orderby=name desc
http://localhost:8888/jobs?$orderby=Name desc