我正在使用这些套餐:
<package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.OData" version="5.7.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.Data.Edm" version="5.6.0" targetFramework="net45" />
<package id="Microsoft.Data.OData" version="5.6.0" targetFramework="net45" />
我使用这种技术插入了ODataController:
当我点击我的控制器时,结果不包含@odata.context
属性,该属性会抛出angular-odataresources library I'm using
响应仅包含以下两个属性:
{odata.metadata: "...", value: [...]}
如何使用@ odata.context属性来响应ODataController?
我尝试使用此功能,但响应没有变化:
$format=application/json;
的 odata.metadata=full
更新
我刚发现this link 具体做法是:
odata.context注释的名称是&#34; odata.metadata&#34;并且是 没有领导&#34; @&#34;
写的
这是否意味着我无法让ODataController返回@odata.context
?
作为一种解决方法,我总是可以更改被抛弃的Javascript。
答案 0 :(得分:3)
Microsoft.AspNet.WebApi.OData支持OData版本1-3,但@odata.context
注释特定于版本4.此外,版本3和版本4之间的JSON有效内容格式也有很大差异。
由于您拥有服务代码,因此最好将OData实现升级到v4。它看起来就像ODataAngularResources所期望的那样。卸载Microsoft.AspNet.WebApi.Client并安装Microsoft.AspNet.OData。