2014-11-27 1 views
1

나는 다음과 같이 몇 가지 관련 기관을 확대하고, 중 하나로, OData V3 WebApi에 대한 호출을 만들고 있어요에 관련 엔티티를 읽지 않는 :DataServiceContext 엔티티 객체

var cenarioInvestimentoEscolhido = Container.CenarioDeInvestimentoEscolha.Expand("CenarioDeInvestimentoCenario,CenarioDeInvestimentoCenario/Cenario,CenarioDeInvestimentoCenario/Aeronave").Where(c => c.CenarioDeInvestimentoCenario.CenarioDeInvestimento.Aerodromo.CodigoIcao.Equals(idAerodromo)).SingleOrDefault(); 

이 식에 의해 생성 된 절대 URI입니다 :

https://localhost/SAC/WebAPI/ODataWebApi/CenarioDeInvestimentoEscolha()?$filter=CenarioDeInvestimentoCenario/CenarioDeInvestimento/Aerodromo/CodigoIcao%20eq%20'SNBR'&$top=2&$expand=CenarioDeInvestimentoCenario,CenarioDeInvestimentoCenario/Cenario,CenarioDeInvestimentoCenario/Aeronave 

그리고 이것은 API에 의해 응답 한 결과 집합은 다음과 같습니다 요으로

{ 
    "odata.metadata":"https://localhost/SAC/WebAPI/ODataWebApi/$metadata#CenarioDeInvestimentoEscolha","value":[ 
     { 
      "CenarioDeInvestimentoCenario":{ 
       "Aeronave":{ 
        "Id":4,"Codigo":"B738","Nome":"737-800","IdFabricante":3,"Pmd":"80-90%","Categoria":"4C" 
       },"Cenario":{ 
        "Id":3,"Nome":"Cen\u00e1rio 3" 
       },"IdAerodromo":112,"IdCenario":3,"IdAeronave":4,"CategoriaDeAeronave":"4C","Subtotal":"39587651.01","EventualAcrescimo":"3958765.10","Total":"43546416.11" 
      },"IdAerodromo":112,"IdCenario":3,"DataInformadoBancoBrasil":"2014-03-11T00:00:00","NumeroOficio":"46/2014/SEAP/SAC-PR","DataEscolhaSalaMonitoramento":"2014-03-17T00:00:00","DataEscolhaSacpr":"2014-03-18T00:00:00" 
     } 
    ] 
} 

알 수 있듯이, 이라는 엔티티가 있고 관련 엔티티가 인 경우 AeronaveCenario입니다. 두 가지 하위 항목은이 호출 후에 deserializated가 아닌 것처럼 null입니다.

나는 이미 ReceivingResponse 이벤트에서 응답 스트림을 확인했으며 실제로 관련 정보가 수신되었습니다. 그 속성이 null 인 이유는 무엇입니까? 이 문제가 직렬화 문제입니까?

답변

0

컨트롤러 동작보다 위에이 특성이 있습니까?

[EnableQuery(MaxExpansionDepth = X)] 
+0

나는 이미 ReceivingResponse 이벤트에서 응답 스트림을 확인했으며 실제로 관련 정보가 수신되었습니다. – Eduardo