Мне нужно создать службу, которая публикует данные в формате OData V2, потому что система, которая использует эти данные, принимает только этот формат.Я сделал проект на основе WEB API 2 и EF, и он работает, но это версия 3. После некоторых исследований я обнаружил, что можно изменить эту версию следующим кодом:
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
var odataVersion2 = new Version(1, 0);
builder.DataServiceVersion = odataVersion2;
builder.MaxDataServiceVersion = odataVersion2;
Файл edmx изменен
<edmx:DataServices m:DataServiceVersion="1.0" m:MaxDataServiceVersion="1.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
, но схемы, похоже, неверны.Например, у меня есть один, взятый из службы OData Northwind
<Schema Namespace="NorthwindModel" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
, и мой файл имеет
<Schema Namespace="ODataServer.Models" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
Есть ли способ действительно указать, что служба OData должна следовать спецификациям V2?Или заставить использовать правильные схемы?
Заранее спасибо.Адриан