2016-10-24 6 views
0

WebAPI(Entity Frameworkモデル)でODataを使用しています。しかし、NominalAccountsと呼ばれるエンティティ/コントローラがあります。コントローラは「NominalAccountsController」、DBエンティティは「NominalAccount」、Oデータパスはは「nominal_accounts」(つまりhttp://test/api/nominal_accounts)です。だから私は、スタートアップクラスに以下のコードがあります。Web API/Entity Frameworkを使用したOData - エンティティのコントローラ名を定義します。

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

をしかし、これは、それはアンダースコアでコントローラを検索するために失敗するようです。エンティティセットに対して、どのコントローラを探すべきかを定義する方法はありますか?

答えて

0

設定がどのようなものかわかりませんが、各エンティティにはcontrollerが1つあります。そのよう

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; 
    } 
} 

そして、私の設定:私のコントローラは、特定のエンドポイントを持っていると私は単純にODataRoutePrefix -prefixを使用

IEdmModel model = GenerateModel(); 
config.MapODataServiceRoute(routeName: "ODataRoute", routePrefix: "odata", model: model); 
関連する問題