asp.net-web-api – OData V4 WebAPI按Enum的Int值过滤?
发布时间:2020-12-16 00:18:29 所属栏目:asp.Net 来源:网络整理
导读:OData V4具有枚举支持,但似乎您只能通过命名空间进行搜索.现在如何通过值而不是文本表示来搜索? 在odata的V3中,您可以查询$filter = Status eq 35,其中35在枚举中是完整的.即使该字段是数据模型中的枚举字段,此方法也可以使用. 现在,此方法在V4中失败,而不
OData V4具有枚举支持,但似乎您只能通过命名空间进行搜索.现在如何通过值而不是文本表示来搜索?
在odata的V3中,您可以查询$filter = Status eq 35,其中35在枚举中是完整的.即使该字段是数据模型中的枚举字段,此方法也可以使用. 现在,此方法在V4中失败,而不是要求命名空间具有枚举的文本表示. 我希望V3支持再次运行,而不必失去odata V4的其他功能.通过int值搜索枚举项看起来比搜索文本更可靠.较旧的odata客户端(例如kendo)不支持按字节枚举过滤方法. 解决方法
要在OData v4中执行此操作,我们可以在初始webapi配置中启用EnumPrefixFree,因此我们不必将完整的枚举命名空间编写为前缀:
public static void Register(HttpConfiguration config) { // ... config.EnableEnumPrefixFree(enumPrefixFree: true); config.MapODataServiceRoute("odata","odata",YourEdmModem); // ... } 然后,我们可以按String或Int值过滤任何枚举: $filter=Status eq 'single' 要么 $filter=Status eq 1 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET:使用混合的HTML格式本地化内容
- asp.net – 运行示例应用程序时出错,Uncaught Error:Signa
- asp.net-mvc-3 – 是否可能获得一个ASP.NET MVC 3项目工作在
- asp.net – 承载令牌在重新部署后变为无效
- asp.net – 如何以编程方式配置ELMAH?
- asp.net-mvc – ASP.NET Azure 400错误请求不返回JSON数据
- asp.net – 图片上传 – 本地主机中断
- ASP.NET C#静态变量是全局的?
- .NET Core多平台开发体验[1]: Windows
- asp.net-mvc – 处理asp.net mvc中的错误和异常
推荐文章
站长推荐
- asp.net – 为什么javascript onchange事件不触发
- asp.net-mvc – 返回修改后的viewModel进行查看
- asp.net-mvc – 没有html值的Razor属性
- ASP.NET网站 – > WCF服务 – > WCF服务,一路冒充
- asp.net-web-api – 如何将OData过滤器转换为LIN
- asp.net-mvc – 如何在C#中为MVC创建值为“00”和
- .net-core – 如何在Asp.net核心中使用Akka.Net
- asp.net-mvc – MVC HTML.RenderAction – 错误:
- asp.net-mvc-3 – 如何格式化MVC Route参数?
- ASP.NET MVC之如何看待内置配置来提高性能优化(四
热点阅读