2016-10-24 3 views
0

Я использую OData в WebAPI (с моделями Entity Framework) и, похоже, работает с удовольствием. Однако у меня есть сущность/контроллер, называемый NominalAccounts, где контроллер называется «NominalAccountsController», объект DB - «NominalAccount», а путь OData I хочет, чтобы использовать «номинальные_accounts» (т. Е. http://test/api/nominal_accounts). Таким образом, у меня есть следующий код в классе запуска:OData с Web API/Entity Framework - определить имя контроллера для объекта

builder.EntitySet<NominalAccount>("nominal_accounts"); 

Но это, кажется, не в состоянии, потому что это выглядит для контроллера с подчеркиванием. Есть ли способ определить для набора объектов, какой контроллер он должен искать?

ответ

0

Я не знаю, как выглядит ваша установка, но у меня есть один controller для каждого объекта. И мои контроллеры имеют определенную конечную точку, я просто использовать ODataRoutePrefix -prefix:

using System.Web.Http; 
using System.Web.OData; 
using System.Web.OData.Query; 
using System.Web.OData.Routing; 

[ODataRoutePrefix("nominal_accounts")] 
public class NominalAccountsController : ODataController 
{ 
    [EnableQuery] 
    public virtual IQueryable<NominalAccount> Get(ODataQueryOptions<NominalAccount> q) 
    { 
     return _your_odata_source; 
    } 
} 

И мой конфиг так:

IEdmModel model = GenerateModel(); 
config.MapODataServiceRoute(routeName: "ODataRoute", routePrefix: "odata", model: model); 

 Смежные вопросы

  • Нет связанных вопросов^_^