2015-01-09 13 views
13

Gdzie jest prawidłowe/niepoprawne stosowanie EnableQueryAttribute od stycznia 2015?Gdzie stosuje się WebAPI 2.2 OData v4 [EnableQuery]?

Dokument powiązany poniżej:

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint

Says:

Sieć [EnableQuery] atrybut umożliwia klientom zmodyfikować kwerendę, używając opcji zapytań takich jak $ filter, $ rodzaju, i $ strona. Aby uzyskać więcej informacji, zobacz Wsparcie opcji zapytań OData.

Poniższy dokument powiązany:

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options

Says:

Sposób EnableQuerySupport umożliwia opcje zapytań globalnie dla jakiegokolwiek działania kontrolera, która zwraca typ IQueryable.

Ale ten dokument za OData 4 na WebAPI 2.2 postawił go na działania powrocie IHttpActionResult:

http://blogs.msdn.com/b/webdev/archive/2014/03/13/getting-started-with-asp-net-web-api-2-2-for-odata-v4-0.aspx

[ODataRoutePrefix("Teams")] 
public class TeamsEntitySetController : ODataController 
{ 
    private readonly LeageContext _leage = new LeageContext(); 

    [EnableQuery] 
    [ODataRoute] 
    public IHttpActionResult GetFeed() 
    { 
     return Ok(_leage.Teams); 
    } 
    [ODataRoute("({id})")] 
    [EnableQuery] 
    public IHttpActionResult GetEntity(int id) 
    { 
     return Ok(SingleResult.Create<Team>(_leage.Teams.Where(t => t.Id == id))); 
    } 
} 

ja wariuję, próbując znaleźć się na bieżąco, dokładne i spójna dokumentacja na temat OData v4/WebApi 2.2.

Co jest poprawne dzisiaj?

Odpowiedz

6

Wykorzystanie konfiguracji globalnej (instancja obiektu HttpConfiguration) i wywołać

config.Filters.Add(new EnableQueryAttribute() 
      { 
       PageSize = 2 
       // .. other settings 
      }); 

to działa

Powiązane problemy