2015-01-09 8 views
13

जनवरी 2015 तक EnableQueryAttribute को लागू करने के लिए यह सही/गलत कहां है?WebAPI 2.2 OData v4 [EnableQuery] कहां लागू होता है?

दस्तावेज़ नीचे लिंक:

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

कहते हैं

[EnableQuery] विशेषता ग्राहकों, क्वेरी को संशोधित करने जैसे $ फिल्टर, $ प्रकार के रूप में क्वेरी विकल्पों का उपयोग करके सक्षम बनाता है, और $ पेज। अधिक जानकारी के लिए, समर्थन ओडाटा क्वेरी विकल्प देखें।

निम्नलिखित जुड़ा हुआ दस्तावेज़:

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

कहते हैं

EnableQuerySupport विधि किसी भी नियंत्रक कार्रवाई है कि एक IQueryable प्रकार रिटर्न के लिए विश्व स्तर पर क्वेरी विकल्प सक्षम बनाता है।

लेकिन WebAPI 2.2 पर OData 4 के लिए इस दस्तावेज़ पर कार्रवाई लौटने 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))); 
    } 
} 

मैं पागल अप-टू-डेट, सटीक खोजने की कोशिश कर रहा हूँ और ओडाटा वी 4/वेबएपी 2.2 पर लगातार दस्तावेज़ीकरण।

आज कौन सा सही है?

उत्तर

6

उपयोग वैश्विक विन्यास (एक HttpConfiguration वस्तु का उदाहरण) और फोन

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

इस काम करता है

संबंधित मुद्दे