在尝试标记odata时,可查询属性未在mvc 4 web api中进行编译

我正在使用visual studio 2012附带的MVC 4 web api。

据我所知,odata不会自动解析,但我们需要在行动中添加[Queryable]属性。

所以我添加了它:

public class TestController : ApiController { [Queryable] public IQueryable GetMyClasses() { return ...; } } 

但我得到一个编译错误:

 The type or namespace name 'Queryable' could not be found (are you missing a using directive or an assembly reference?) 

odata仍然受支持吗? 以及为什么Queryable不被识别为此处列出的属性。

谢谢

如此处所述,OData支持已移至单独的NuGet包 。

它在这个程序集(DLL)中:

  System.Web.Http.OData.dll 

此命名空间:

 System.Web.Http.QueryableAttribute 

在这个nuget包中:

 Install-Package Microsoft.AspNet.WebApi.OData 

当我安装包但它没有显示为有效类型。 即使validationSystem.Web.Http.OData.dll存在并在对象资源管理器中查找我也找不到它。 最后我刚刚重启Visual Studio,一切都很好。 我怀疑这个DLL的一些旧版本可能会混淆它或类似的东西。