OData过滤器不过滤

时间:2014-11-12 09:02:44

标签: c# odata asp.net-web-api

我的网址是:"/odata/Category?$filter=Number eq 1"

我的控制器动作如下:

[EnableQuery]
public IHttpActionResult Get()
{
    var result = categoryService.GetAll();
    if (result == null)
        return NotFound();

    return Ok(result);
}

GetAll()返回IQueryable<Category>,这是有效的,因为它返回了数据库中的所有记录。

但是,OData过滤器未过滤掉数据。我错过了什么?

此外,过滤器是直接应用于db还是在返回所有记录之后?

1 个答案:

答案 0 :(得分:0)

我有一个可以工作的简单控制器。

public class FoosController : ODataController
{
    // GET odata/Foos
     [EnableQuery]
    public IHttpActionResult Get()
    {
        return Ok(FakeData.Instance.Foos.AsQueryable());
    }
}

请确保您的控制器正确无误。在您的网址中,似乎“类别”不是复数形式。