我是odata和WebApi的新手。 我正在尝试发送以下odata查询:?$ filter = ExternalIds eq'5'
ExternalIds是对象的一部分,定义为:
public Id ExternalIds { get; set; }public class Id { [DataMember] public string Name { get; set; } [DataMember] public string Value { get; set; } }
我收到错误: “检测到具有不兼容类型的二元运算符。找到操作数类型'GenericAPIInterface.Entities.User.Id'和'Edm.String',用于运算符类'Equal'。”
答案 0 :(得分:0)
要在相关类中使用属性值,您需要使用$filter
中的导航语法,例如...?$filter=ExternalIds/Value eq '5'
。此外,如果ExternalIds
是一个实体(拥有自己的ID),您可能希望使用$expand
展开它。但是,对于filter子句来说,这并不是绝对必要的。
答案 1 :(得分:0)
我认为我遇到了同样的问题 - 结果我使用了查询 Id eq" 5" ,而它应该是 Id eq 5 所以不引用基本上有帮助。