如何在Odata中添加过滤器?
How to add the filter in Odata?
我只筛选所有记录,但无法筛选一条记录。
[HttpGet("GetContact")]
public async Task<ActionResult<IEnumerable<ContactEm>>> GetContactEms([FromQuery(Name = "top")] int top, [FromQuery(Name = "$skip")] int skip, [FromQuery(Name = "$orderby")] string orderny, [FromQuery(Name = "$filter")] string filter)
{
return await _context.ContactEms.ToListAsync();
}
用于“打开”过滤功能,OData 支持 ($filter=...)
您应该创建一个继承自 ODataController
的控制器,并在方法上使用 [EnableQuery] 属性。考虑使用 official manual 进行详细演练。
在你的情况下,它应该是这样的:
public class ContactEmsController : ODataController
{
...
[EnableQuery]
public IQueryable<ContactEm> Get()
{
return _context.ContactEms;
}
}
我只筛选所有记录,但无法筛选一条记录。
[HttpGet("GetContact")]
public async Task<ActionResult<IEnumerable<ContactEm>>> GetContactEms([FromQuery(Name = "top")] int top, [FromQuery(Name = "$skip")] int skip, [FromQuery(Name = "$orderby")] string orderny, [FromQuery(Name = "$filter")] string filter)
{
return await _context.ContactEms.ToListAsync();
}
用于“打开”过滤功能,OData 支持 ($filter=...)
您应该创建一个继承自 ODataController
的控制器,并在方法上使用 [EnableQuery] 属性。考虑使用 official manual 进行详细演练。
在你的情况下,它应该是这样的:
public class ContactEmsController : ODataController
{
...
[EnableQuery]
public IQueryable<ContactEm> Get()
{
return _context.ContactEms;
}
}