2017-01-11 4 views
1

は私WebApiConfig.csに次いると仮定:OData v4 6.0.0を使用して.NETでネストされたOData呼び出しを作成するにはどうすればよいですか?

 modelBuilder.EntitySet<Content>("Content"); 
     modelBuilder.EntitySet<Area>("Area"); 

そして、私は以下のクラスがあります。

public class Area 
{ 
    public string Id { get; set; } 

    public ICollection<Content> Contents { get; set; } 
} 

public class Content 
{ 
    public string Id { get; set; } 

    [ForeignKey("Area")] 
    public int? AreaId { get; set; } 
    public virtual Area Area { get; set; } 
} 

はどのようにして、次のルートにバインドされているODataControllerアクションメソッドを作ることができますか?

GET /odata/Area(Id)/Content(Id) 

私はカスタムルーティング規則を作成しようとすると、私は次のようODataPathを得続ける:

"~/entityset/key/unresolved" 

を、私はこれを取得しようとしている:

"~/entityset/key/navigation/key" 

注:I v4.0 ODataのv6.0.0を使用しているため、ルーティングの一部が以前のバージョンから変更されています。

+1

と呼ばれています。あなたの 'Area'オブジェクトには、' Content'というナビゲーションプロパティがありますか? – TomDoesCode

+0

@TomDoesCode - あなたの質問が私を究極の答えに導いた - 私はNavigationプロパティの名前が間違っていた。それを回答として提出すれば、私はそれを受け入れます。 – Andy

+0

投稿されています、それが正確でないかどうか教えてください – TomDoesCode

答えて

0

URL /odata/Area(Id)/Content(Id)Contentという名前は、クラスAreaのナビゲーションプロパティの名前と一致する必要があります。あなたのクラスでは、Contents

関連する問題