2015-01-28 12 views
5

मैं एक वेब एपीआई कक्षा में OData सक्षम करने के लिए कोशिश कर रहा हूँ और मेरी क्वेरीवेब एपीआई [Queryable] मान्यता प्राप्त नहीं

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Net.Http; 
using System.Web.Http; 

public class ItemsController : ApiController 
{ 
    ... 
    [HttpGet] 
    [Queryable] 
    public IQueryable<Item> GetItems() 
    { 
     return _repository.Items.AsQueryable(); 
    } 

लेकिन दृश्य स्टूडियो के लिए विशेषता [Queryable] द्वारा जोड़ा जा रहा मुझे

'Queryable' is not an attribute"

बताता विशेषता

और मैं एक संकलन त्रुटि मिलती है: यदि मैं विशेषता अर्हता

CS0616: 'System.Linq.Queryable' is not an attribute class

[System.Web.Http.Queryable] 

मैं एक त्रुटि संदेश

CS0234: The type or namespace name 'Queryable' does not exist in the namespace 'System.Web.Http' (are you missing an assembly reference?)

किसी भी विचार प्राप्त क्यों [Queryable] मान्यता प्राप्त होना प्रतीत नहीं होता है? यह एक वेब फॉर्म एप्लिकेशन है जिस पर वेब एपीआई बाद की तारीख में जोड़ा गया है।

उत्तर

13

मेरे बुरा, यह एक अलग Nuget पैकेज

Install-Package Microsoft.AspNet.WebApi.OData -Version 5.3.1

काश माइक्रोसॉफ्ट उनके ट्यूटोरियल & डॉक्स अद्यतन होगा जब वे बात इस तरह का करते हैं में है।

+9

अब यह बहिष्कृत है। इसके बजाय [EnableQuery] https://msdn.microsoft.com/en-us/library/system.web.http.odata.enablequeryattribute(v=vs.118).aspx –

+0

यहां इसका वर्णन किया गया है कि इसका उपयोग कैसे करें: http : //www.drdobbs.com/windows/using-odata-from-aspnet/240168672 –

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