Web Api [可查询]属性无法识别

How*_*haw 7 asp.net-web-api

我正在尝试在Web Api类中启用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();
    }
Run Code Online (Sandbox Code Playgroud)

但Visual Studio告诉我

'可查询'不是属性"

我收到编译错误:

CS0616:'System.Linq.Queryable'不是属性类

如果我符合该属性

[System.Web.Http.Queryable]
Run Code Online (Sandbox Code Playgroud)

我收到另一条错误消息

CS0234:名称空间'System.Web.Http'中不存在类型或命名空间名称'Queryable'(您是否缺少程序集引用?)

任何想法为什么[可查询]似乎没有被识别?这是一个Web表单应用程序,以后会添加Web API.

How*_*haw 16

我的坏,它现在是一个单独的Nuget包

安装包Microsoft.AspNet.WebApi.OData -Version 5.3.1

我希望微软在做这类事情时会更新他们的教程和文档.

  • 现在已弃用.请改为使用[EnableQuery] https://msdn.microsoft.com/en-us/library/system.web.http.odata.enablequeryattribute(v=vs.118).aspx (11认同)