ASP.NET Core 3.1 OData添加过滤器

时间:2020-06-22 10:28:30

标签: asp.net-core odata

我有一个ASP.NET Core 3.1 OData API,目前可以从数据库中获取所有数据。

我如何add a filter,在允许用户访问之前限制用户被允许访问的数据 数据是从Database获取的。

例如

  • 允许用户仅查看由用户本身创建的数据。
  • 通过添加userId作为过滤器来过滤用户数据。

这是api:

[Route("api/ScheduledBatch")]
public PageResult<ScheduledBatchModel> ScheduledBatchOData([FromQuery]ODataQueryOptions queryOptions)
{
    var result = queryOptions.ApplyTo(dataContext.scheduledBatch) as IEnumerable<ScheduledBatchModel>;
    var b = result.AsList(); // data is already returned...
    var pageResult = new PageResult<ScheduledBatchModel>(
         result,
         null,
         Request.ODataFeature().TotalCount);
    return pageResult;
}

0 个答案:

没有答案