2016-10-18 5 views
0

나는 개체의 자식 개체를 확장하려고하지만, 다음과 같은 오류가 무엇입니까 : 400 잘못된 요청

쿼리 옵션 '확장'을 사용할 수 없습니다. 이를 허용하려면 QueryableAttribute 또는 QueryValidationSettings에 'AllowedQueryOptions'속성을 설정하십시오.

[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)] 나는이 속성을 설정했으나 행운은 없었으며 같은 오류가 발생했습니다. 나는 또한 기록의 가져 오기 카운트 시도하지만 me.Here 작동하지도 계산

localhost/OData/Ticket?$expand=Location 

수를 내 URI입니다 :

여기 내 URI입니다.

localhost/OData/Ticket?$count=true 

그러나 여기에는 나는 다음과 같은 메시지 400 잘못된 요청 오류가 발생 :

쿼리 매개 변수 '$ 카운트가'지원되지 않습니다.

Google을 많이 사용하여 관련 문제를 발견했지만 저에게는 효과가 없습니다. 여기 내 코드입니다 :

  • 컨트롤러 :

    공용 클래스 ODataTicketController : ODataController

    {

    [ODataRoute] 
    
    [EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)] 
    
    public IQueryable<Ticket> Get() 
    { 
         return db.Tickets; 
    } 
    

    }

  • 이 문제를 해결하는 데 도움이 바랍니다.

고맙습니다.

답변

0

마지막으로 내 컨트롤러에서 모든 odata 쿼리를 처리합니다. IHttpActionResult에 IQueryable이 필요합니다. 이제는 잘 작동합니다. 여기 컨트롤러가 업데이트되었습니다.

public class ODataTicketController : ODataController 
{  
    [EnableQuery]  
    public IHttpActionResult<Ticket> Get() 
    { 
     var result = db.Tickets;  
     return Ok(result); 
    } 
} 

누군가 도움이되기를 바랍니다.

감사합니다.

관련 문제