Microsoft.AspNet.OData响应缺少OData批注

时间:2019-01-28 04:06:19

标签: c# asp.net odata

我分别使用node.js和C#开发了两个OData端点。而且我发现C#返回的值缺少一些OData注释。

node.js的返回值之一:

enter image description here

C#one的返回值:

enter image description here

对于这两种实现,我使用的是具有相同属性的相同数据模型。

enter image description here

对于C#实现,我正在使用Microsoft.AspNet.OData库。我需要做任何配置以使突出显示的注释(@ odata.id,@ odata.editLink)显示出来吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定这是否能回答您的问题,但这可能会有所帮助:

  

https://msdn.microsoft.com/en-us/library/dn260745.aspx

     

该规范规定以下内容:

     
    

odata.context批注返回有效负载的上下文URL(请参阅[OData-Protocol])。

         

此URL可以是绝对URL,也可以是相对URL。

  
     指定的Microsoft实现中的

OData(第1.3节)   部分支持此功能。

     

odata.context的名称   注释是“ odata.metadata”,并且写时不带前导“ @”。   odata.metadata批注的内容与   [OData4.0-1Protocol]中规定的odata.context注释为   下文在2.1.9.1至2.1.9.9中进行了介绍。

     

规范的第4.5.1节还规定以下内容:

     
    

对于不能从集合的上下文URL确定其实体集的实体,也必须包含odata.context注释。

  
     指定的Microsoft实现(第1.3节)中的

OData确实   不支持此功能。实体集总是可以从   集合的元数据URL,且不得存在   集合中的单个实体或一个集合中的集合   实体。