我想知道我们如何使用QueryNodeVisitor解析布尔数据类型的odata FilterClause。例如,
/ api / items?$ filter = value eq true
/ api / items?$ filter = value
从我测试的结果来看,以上两项均对odata有效。虽然通用QueryNodeVisitor似乎仅在第一种情况下起作用。有什么建议也可以使第二个工作吗?
谢谢!
答案 0 :(得分:0)
QueryNodeVisitor<T>
是一个泛型类,所有方法都定义为抛出NotImplementedException
。
请您分享更多有关“通用QueryNodeVisitor似乎仅在第一种情况下有效”的信息吗?
此外,我认为您可以创建自己的访客,类似于:
public class BooleanVisitor : QueryNodeVisitor<bool>
{
public override bool Visit(SingleValuePropertyAccessNode propertyNode)
{
if (propertyNode == null)
{
return false;
}
return propertyNode.TypeReference.IsBoolean();
}