我有一个实体Foo,它具有Bar属性(例如Edm.String)。

假设我要为此添加注释-我们将其称为“ ReadOnly”(或者,如果在OData v4中具有特殊含义,请选择任何自定义注释-可能是“ Blurgum”)。它是一个Edm.Boolean(如果不是真的,则为“ Edm.String”)。

如何获取此注释以显示在实体元数据中?请注意,我让服务生成元数据,并使用ODataModelBuilder从Foo C#类为我构造EDM。

看起来这应该很容易,但是我所研究的一切都是死胡同:


该模型的成员具有“ SetAnnotationValue”和“ SetAnnotationValues”之类的方法,但是我找不到一种方法来获取与Foo / Bar属性相对应的IEdmElement(命名空间为FooService,FWIW)。
看起来在OData ASP.NET的早期版本中,您可以提供自己的自定义元数据文件,但现在还没有办法做到这一点。
我已经看到了一些使用自定义“序列化器”进行操作的示例,但还不知道这些示例是否值得追求。如果要在属性,类型等中添加注释,这是唯一的方法吗?


我想在返回的元数据中看到注释;我知道这可能需要在请求中发送一些首选项标头,但是当我们到达它时,我们将跨越那座桥。

最佳答案

现在不支持这些注释。这是一个相关的错误:https://aspnetwebstack.codeplex.com/workitem/1451

07-24 09:50
查看更多