0

我有两张桌子:

T1 with attributes: commonG, g1, g3,g7,g8
T2 with attributes: commonG, g2,g5,g6

WHERE T1.commonG 与 T2.commonG 相同,对于此查询:

select t1.commonG, T1.g1, T2.g2
from T1 and T2
where T1.g3=777 and T1.commonG=T2.commonG

所以我想使用odataquery访问这个选择数据以 获得一些 g3 值。

4

1 回答 1

2

OData 查询依赖于理解 T1.commonG 和 T2.commonG 之间存在外键关系的 EDM 模型。假设你有这样一个模型,你需要三样东西:

  • $select 系统查询选项允许您进行预测,例如,$select=Name,Category/Name
  • $expand 系统查询选项允许您指定来自两个不同表的投影(将其视为满足上述查询中的逻辑连接)
  • $filter 系统查询选项允许您指定上面 where 子句的等效项

现实世界中的一个实际示例是以下查询: http://services.odata.org/Experimental/OData/OData.svc/Products?$expand=Category&$filter=Category/Name%20eq%20'Food'&select=Name,Category/Name

如果您将 T1 映射到示例服务中的 Product 并将 T2 映射到示例服务中的 Category,您会发现此示例非常接近您实际想要实现的目标。

于 2012-07-13T18:31:54.867 回答