在 OData 过滤器中缩短或省略枚举的命名空间

Shortening or omitting namespace for enum in OData filter

我查看了 [Tutorial & Sample] Use Enumeration types in OData 以了解如何使用枚举过滤 OData 返回的数据。我正在使用的数据模型有一个很长的命名空间,如果能够使用更短的东西而不是

Organization.Office.Project.DomainObjects.Enumerations.MyEnumeration'MyValue'

能做到这一点就好了 MyEnumeration'MyValue'我该怎么做?我尝试设置 ODataConventionModelBuilderNamespace 属性,但没有效果。

Web API OData 支持免费的枚举前缀。我想这就是你要找的。

启用enum prefix free 后,您可以直接使用enum 值,例如, 'MyValue'

以下是如何免费启用枚举前缀的示例代码。 http://odata.github.io/WebApi/#06-01-custom-url-parsing

OData团队提供的相应端到端测试用例如下:

https://github.com/OData/WebApi/blob/master/OData/test/E2ETest/WebStack.QA.Test.OData/UriParserExtension/EnumPrefixFreeTest.cs

下面是关于Uri解析器扩展的更详细的介绍。 http://blogs.msdn.com/b/odatateam/archive/2014/09/12/tutorial-amp-sample-odatauriparser-extension-support.aspx

谢谢