2015-01-28 6 views
5

Ich versuche OData in einer Web-Api-Klasse zu ermöglichen und bin Hinzufügen des Attributs [Abfragbare] zu meiner AnfrageWeb Api [Abfragbare] nicht Attribute erkannt

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

aber Visual Studio sagt mir

'Queryable' is not an attribute"

und ich bekomme einen Kompilierungsfehler:

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

Wenn ich das Attribut

qualifizieren
[System.Web.Http.Queryable] 

ich eine andere Fehlermeldung

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

Irgendwelche Ideen, warum die [Abfragbare] scheint nicht erkannt zu werden? Dies ist eine Webformularanwendung, zu der zu einem späteren Zeitpunkt die Web-API hinzugefügt wurde.

Antwort

13

Meine schlecht, es ist jetzt in einem separaten Paket Nuget

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

ich Microsoft tun wollen würde ihre Tutorials & docs aktualisieren, wenn sie diese Art der Sache zu tun.

+9

Dieser jetzt veraltet. Verwenden Sie stattdessen [EnableQuery] https://msdn.microsoft.com/en-us/library/system.web.http.odata.enablequeryattribute(v=vs.118).aspx –

+0

Hier seine beschrieben, wie es zu benutzen: http : //www.drdobbs.com/windows/using-odata-from-aspnet/240168672 –

Verwandte Themen