2014-11-20 4 views
1

웹 API 2 프로젝트가 있고 쿼리 할 수 ​​있도록 모델을 Odata 서비스로 제공하려고합니다. Web API 2 응답에서 Odata 메타 데이터 형식이 누락되었습니다.

내가 수행 한 설정입니다 : 내가 다음 코드는 내가 쿼리 값 컨트롤러

// GET api/values 
[EnableQuery (PageSize=1)] 
public IQueryable<TestProduct> Get() 
{ 
    var str = new List<TestProduct> 
    { 
     new TestProduct {Name = "Dark", Value = "Lord"}, 
     new TestProduct {Name = "Dark", Value = "Elf"} 
    }; 
    var hello = str.AsQueryable(); 
    return hello; 
} 

config.AddODataQueryFilter(); 

WebApiConfig.Register()에서

http://localhost:51823/api/values?$filter=Name eq 'Elf' 

결과는 다음과 같습니다.

[ 
    { 
     "Name": "Dark", 
     "Value": "Elf" 
    } 
] 

$odata.metadata 속성과 inlinecount 속성이 누락되었습니다. 응답에 어떻게 추가 할 수 있습니까? 내가 EF를 사용하여 계획하지 않는

[ 
"odata.metadata":"http://localhost:43111/api/$metadata#TestProducts", 
      "odata.count":"1", 
"value": 
     { 
      "Name": "Dark", 
      "Value": "Elf" 
     } 
    ] 

: 이상적으로 내가 찾고있을 것이다.

답변

1

이 시도 :

Accept:application/json;odata=fullmetadata 
:

http://localhost:51823/api/values?$filter=Name eq 'Elf'&$inlinecount=allpages 

메타 데이터 정보가 수락 헤더 예에 하나로, OData = fullmetadata를 추가 얻으려면

관련 문제