Asp.net web api Microsoft ODataController对@odata.context的响应

Asp.net web api Microsoft ODataController对@odata.context的响应,asp.net-web-api,odata,Asp.net Web Api,Odata,我正在使用这些软件包: <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" targetFrame

我正在使用这些软件包:

<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:

  • 右键单击控制器文件夹“添加控制器”
  • 从“添加脚手架”列表中选择“Web API 2 ODataController及其操作,使用 “实体框架”
  • 为此选择适当的模型和上下文 ODataController
  • 根据插入的参数修改WebApiConfig.cs 模板
  • 当我点击我的控制器时,结果不包括
    @odata.context
    属性,该属性会抛出

    响应仅包括以下两个属性:
    {odata.metadata:“…”,值:[…]}

    如何使ODataController使用@odata.context属性进行响应

    我尝试使用此选项,但没有改变响应:
    $format=application/json
    odata.metadata=full

    更新

    我刚找到 具体而言:

    odata.context注释的名称为“odata.metadata”,并且 不带前导“@”的文字

    这是否意味着我无法使ODataController返回
    @odata.context


    作为一种解决方法,我可以随时更改抛出的Javascript。

    Microsoft.AspNet.WebApi.OData支持OData版本1-3,但
    @OData.context
    注释特定于版本4。此外,版本3和版本4之间的JSON有效负载格式也有显著差异


    由于您拥有服务代码,因此最好将OData实现升级到v4。看起来这正是ODataAngularResources所期望的。卸载Microsoft.AspNet.WebApi.Client并安装。

    Microsoft.AspNet.WebApi.OData支持OData版本1-3,但
    @OData.context
    注释特定于版本4。此外,版本3和版本4之间的JSON有效负载格式也有显著差异

    由于您拥有服务代码,因此最好将OData实现升级到v4。看起来这正是ODataAngularResources所期望的。卸载Microsoft.AspNet.WebApi.Client并安装。

    并帮助您遵循建议。我们很乐意听从你的建议。