我正在使用带有 MVC 的 VS2013 并公开一个简单的 ODataController。
其实我基本上是按照这里的教程来的:http: //blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-简单的步骤.aspx
我正在尝试使用 odata4j 在 android 上使用该服务,目前遇到了一个问题,即 odata 元数据报告它仅支持 3.0 版本的协议(最小 + 最大),如下所示:-
<edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0">
我尝试在 WebApiConfig.cs 文件的 EdmModel 中更改它。
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.DataServiceVersion = new Version(2, 0);
builder.EntitySet<Product>("Products");
这修复了 $metadata 响应但不够深入,因为响应标头报告以下内容(注意 DataServiceVersion 仍然是 3.0)。
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
DataServiceVersion: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 08 Nov 2013 06:20:40 GMT
Content-Length: 1457
我是在这里找错了树,还是有适当的方法来调整服务的支持 OData 协议版本?