【发布时间】:2021-01-25 13:27:23
【问题描述】:
Asp.Net Core 3.1和Microsoft.AspNetCore.OData 7.3.0版是否可以实现如下路线:
/ParentEntity({id})/Children(OnlyActive={onlyActive})
我的成就:
控制器的方法:
[HttpGet]
[ODataRoute("ParentEntity({id})/Children")]
public async Task<IActionResult> Children([FromODataUri] string id)
{
// some data fetching operations.
}
具有以下模型配置:
builder.EntityType<ParentEntity>().Function("Children")
.ReturnsCollectionFromEntitySet<ChildEntity>("ChildEntity");
工作正常,我可以在 Children 方法中获取 id 参数。
但是当我尝试做类似的事情时:
[HttpGet]
[ODataRoute("ParentEntity({id})/Children(OnlyActive={onlyActive})")]
public async Task<IActionResult> Children([FromODataUri] string id, [FromODataUri] bool onlyActive)
{
// some data fetching operations.
}
带模型配置:
FunctionConfiguration getFunc = builder.EntityType<ParentEntity>().Function("Children")
.ReturnsCollectionFromEntitySet<ChildEntity>("ChildEntity");
getFunc.Parameter<bool>("OnlyActive");
我收到了错误:
Microsoft.OData.ODataException:“错误请求 - 查询语法错误”
是否可以通过这种方式使用 Odata 函数?还是我应该尝试其他方法?
【问题讨论】:
标签: asp.net-core odata asp.net-core-3.1