3
웹 API 끝점 OData 쿼리에서 IEnumerable
을 반환 할 때 쿼리 옵션을 적용하기 전에 열심히로드하는 것을 열거합니다.OData URL에서 지연로드 사용 쿼리
SomeType :
public class SomeType
{
public int SomeProp { get; set; }
}
엔드 포인트 : 여기 무슨 뜻인지입니다
public class SomeTypeController : ApiController
{
[EnableQuery]
public IEnumerable<SomeType> Get()
{
return GetSomeTypes();
}
IEnumerable<SomeType> GetSomeTypes()
{
for (var i = 0; i < 10; i++)
{
Trace.WriteLine(i);
yield return new SomeType { SomeProp = i };
}
}
}
/api/sometype?$top=2
를 요청 나는이 선을 추적하기 위해 (0,1)를 기대하는 대신 내가 계속 루프를 참조 끝까지.
끝점 :
나는 (2) 반환하기 전에 테이크를 호출하는 것과 같은 동작을 기대public class SomeTypeController : ApiController
{
[EnableQuery]
public IEnumerable<SomeType> Get()
{
return GetSomeTypes().Take(2);
}
IEnumerable<SomeType> GetSomeTypes()
{
for (var i = 0; i < 10; i++)
{
Trace.WriteLine(i);
yield return new SomeType { SomeProp = i };
}
}
}
중 하나로, OData 쿼리 옵션에 대한 게으른 로딩에 전환 할 수있는 방법이 있나요?
OData를 사용하는 유일한 이유는 쿼리 옵션이기 때문에 자동 쿼리 옵션을 구현할 수있는 대안을 환영합니다.
이제는 의미가 있습니다. 감사. –