Почему мой ответ oData не имеет свойств навигации

Если вы посмотрите на следующий пример фида oData, вы 'Посмотрите включенные свойства навигации для 'ребенка элементы, чтобы сказать вам, какой URL следовать:

http://services.odata.org/OData/OData.svc/Suppliers?$format=json

Например, поставщик 0 имеет свойство навигации по продуктам. Это ссылка на список продуктов для этого поставщика.

http://services.odata.org/OData/OData.svc/Suppliers(0)/Products?$format=jsonI»

я пытаюсь сделать то же самое сODataConventionModelBuilder а такжеEntitySetController так что когда я прошуoData/Product(0) это покажет мнефункции' для продукта:

Я создаю свою модель, как это (на основеПример GetImplicitEdmModel)

     // odata
     ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
     modelBuilder.EntitySet("Product");
     modelBuilder.EntitySet("ProductFeature");

     Microsoft.Data.Edm.IEdmModel model = modelBuilder.GetEdmModel();
     config.Routes.MapODataRoute("ODataRoute", "odata", model);

Я создаю контроллер для WebAPI:

public class  ProductController : EntitySetController
{
    RRStoreDBContext _db = new RRStoreDBContext();


    [Queryable]
    public override IQueryable Get()
    {
        return _db.Products.AsQueryable();
    }

    public ICollection GetProductFeatures(int key)
    {
        Product product = _db.Products.FirstOrDefault(p => p.ProductId == key);
        if (product == null)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        return product.ProductFeatures;
    }
}

Когда я на самом деле вызываю URL для моего дочернего свойства, оно работает и дает мне правильный список функций:

 /oData/Products(18)/ProductFeatures

Однако я бы ожидал, что свойство навигации в/oData/Products(18) указывая на это.

Что мне нужно сделать, чтобы это появилось.Эта статья говорит этоавтомат, но яя их не вижу

ODataConventionModelBuilder, который обычно рекомендуется для ODataModelBuilder, автоматически выведет иерархии наследования при отсутствии явной конфигурации. Затем, как только будет выведена иерархия, она также выведет свойства и свойства навигации. Это позволяет вам писать меньше кода, ориентируясь на то, где вы отклоняетесь от наших соглашений.

Ответы на вопрос(1)

Ваш ответ на вопрос