ASP.NET Core 3.1 无法获取 Odata 查询参数

ASP.NET Core 3.1 unable to get Odata Query parameter

使用 ASP.NET Core 3.1Microsoft.AspNetCore.OData 7.5.6,

HTTP "DELETE" 请求发送到操作方法时,我无法获得 查询参数,结果参数值保持设置为 0.

这是我的 HTTP 请求:

https://localhost:8083/api/EventTypes(Id%3D66L)

还有我的操作方法:

    [Route("api/EventTypes({Id})")]
    [HttpDelete]
    // [AcceptVerbs("DELETE")]
    public async Task<IActionResult> Delete(Int64 Id)
    {
        DynamicParameters param = new DynamicParameters();
        param.Add("Id", Id);
        await Dapper.DapperORM.ExecuteWithoutReturn("event_type_delete", param);
        return Ok();
    }

当我检查 Id 的值时,该值为 0。我尝试将类型更改为string,然后将值设置为"Id=66L"

我希望它能起作用,但在我的情况下不起作用:

Delete([FromODataUri]Int64 Id)

获取整数值的best/correct方法是什么?

更改路由参数以使用此格式 Id={Id} 并使用 FromODataUri 我设法获得了所需的参数值。

例如

    [Route("api/EventTypes(Id={Id})")]
    [AcceptVerbs("DELETE")]
    public async Task<IActionResult> Delete([FromODataUri]Int64 Id)