Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OData过滤器未过滤_C#_Odata_Asp.net Web Api - Fatal编程技术网

C# OData过滤器未过滤

C# OData过滤器未过滤,c#,odata,asp.net-web-api,C#,Odata,Asp.net Web Api,我的url是:“/odata/Category?$filter=Number eq 1” 我的控制器操作如下: [EnableQuery] public IHttpActionResult Get() { var result = categoryService.GetAll(); if (result == null) return NotFound(); return Ok(result); } GetAll()返回一个IQueryable,这是有

我的url是:
“/odata/Category?$filter=Number eq 1”

我的控制器操作如下:

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

    return Ok(result);
}
GetAll()
返回一个
IQueryable
,这是有效的,因为它从数据库返回所有记录

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


此外,是直接针对数据库应用过滤器,还是在返回所有记录后应用过滤器?

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

public class FoosController : ODataController
{
    // GET odata/Foos
     [EnableQuery]
    public IHttpActionResult Get()
    {
        return Ok(FakeData.Instance.Foos.AsQueryable());
    }
}
请确保您的控制器是正确的。在您的URL中,“类别”似乎不是复数形式