如何对 OData 中的扩展实体应用过滤条件?
假设我有主实体作为home具有字段
homeId, StateId, CountyID, Address
和子实体state为
StateId, StateName
并且county作为
CountyID, CountyName
我需要使用带有州名和县名的过滤条件来获取家庭地址和 ID。网址应该如何?
如何对 OData 中的扩展实体应用过滤条件?
假设我有主实体作为home具有字段
homeId, StateId, CountyID, Address
和子实体state为
StateId, StateName
并且county作为
CountyID, CountyName
我需要使用带有州名和县名的过滤条件来获取家庭地址和 ID。网址应该如何?
使用 $expand 关键字 OData 查询应该类似于:
/home/?$filter=state/statename eq 'STATE' 和 County/countyname eq 'COUNTY'&$expand=state,county&$select=homeId, Address
我有同样的问题,我使用链接两个实体的关系模式,但即便如此,也只能过滤或选择扩展实体的主键。我不知道如何调用不是主键的不同字段。请参阅以下问题:问题
我怀疑您的home实体类型实际上并没有导航属性。在 OData 中,如果您想连接两个实体,您将创建一个类型与您要链接到的实体匹配的属性。这些属性(即类型为实体类型的属性)称为导航属性。如果您想home拥有一个关联的state,您的home类型将有一个名为“State”或类似的属性,并且该属性将是 type state。想想面向对象的编程,而不是在关系数据库中使用的可连接 ID。
同样,如果要将实体连接到实体,则home应该具有带类型的属性。一旦您拥有名为“州”和“县”的导航属性,eoghank 的答案应该适合您。countyhomecounty