2015-01-09 8 views
13

EnableQueryAttribute öğesinin Ocak 2015 itibarıyla geçerli olması doğru/yanlış mı?WebAPI 2.2 OData v4 [EnableQuery] uygulaması nerede uygulanır?

belge aşağıda bağlantısı:

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

Says:

[EnableQuery] nitelik böyle $ filtresi, $ tür olarak sorgu seçeneklerini kullanarak, sorguyu değiştirmek için müşterilerine sağlayan, ve $ sayfa. Daha fazla bilgi için, bkz. OData Sorgu Seçeneklerini Destekleme.

aşağıdaki bağlı belge:

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

edenler:

EnableQuerySupport yöntemi bir IQueryable tür döndüren herhangi bir kontrol işlemi için genel olarak sorgu seçenek sağlar.

Ama WebAPI 2.2 üzerinde OData 4 için bu belge IHttpActionResult dönen eylemler üzerine koydu etti:

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))); 
    } 
} 

Ben güncel, doğru bulmak deli çalışıyorum gidiyorum ve OData v4/WebApi 2.2 ile ilgili tutarlı belgeler.

Bugün hangisi doğru?

cevap

6

kullanın global konfigürasyon (bir HttpConfiguration nesnesi durumu) ve bu

çalışır

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

çağrı