2017-01-11 9 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" 

참고 : 나는 v4.0의 v4.0 OData를 사용 중이므로 일부 라우팅이 이전 버전에서 변경되었습니다.

+1

입니다. 'Area' 객체에는'Content'라는 탐색 속성이 있습니까? – TomDoesCode

+0

@TomDoesCode - 궁금한 질문에 대한 귀하의 질문 - Navigation 속성의 이름이 잘못되었습니다. 답변을 제출하면 받아 들일 것입니다. – Andy

+0

게시 됨, 정확하지 않은 경우 알려주세요. – TomDoesCode

답변

0

URL /odata/Area(Id)/Content(Id)Content 이름은 클래스 Area의 탐색 속성 이름과 일치해야합니다. 당신의 클래스에서이 질문은 Contents