gpt4 book ai didi

c# - Microsoft OData 无法仅在 $filter (v7) 中使用日期

转载 作者:行者123 更新时间:2023-11-30 12:20:34 26 4
gpt4 key购买 nike

这在 Odata v6 中有效,但现在在 v7 中抛出错误

$filter=CreateDateUtc gt 2014-06-23

在上面的示例中,CreateDateUtc 将是一个 DateTimeOffset。我不确定破坏此功能的版本之间发生了什么变化。

返回的错误是“URI 中指定的查询无效。类型‘Microsoft.OData.Edm.Date’和‘System.Nullable`1[System.DateTimeOffset]’之间未定义强制运算符。”

我尝试升级到 v7.5,但未能解决问题。

我可以编写自定义代码来处理此问题,但我不完全应该从哪里开始。我尝试使用自定义 ODataUriResolver,我在其中重写了 PromoteBinaryOperandTypes 方法,但这似乎不起作用。是在我修改实际查询的地方制作自定义 EnableQueryAttribute 的最佳方法吗?

任何指导都会非常有帮助。

最佳答案

OData 无法将常量转换为日期时间,因为它需要一个完整的日期时间常量:

$filter=CreateDateUtc gt 2014-06-23T00:00:00Z

或者您可以使用 date() 函数将您的属性转换为日期:

$filter=date(CreateDateUtc) gt 2014-06-23

关于c# - Microsoft OData 无法仅在 $filter (v7) 中使用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51138259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com