如何使用odata获取参考数据

时间:2012-02-28 17:07:15

标签: entity-relationship odata relationships

我有两个表,NetworkAccount和Division。与DivisionID相关 NetworkAccount具有完整的用户信息,包括DivisionID 分部拥有与分部有关的所有相关信息。

我有用户登录名,如何检索存储在Division表中的DivisionName。我想通过对oData服务的一个查询来执行此操作。

我已经尝试了以下内容,没有任何东西能给我我想要的答案。

http://localhost:54471/NetworkInfo.svc/Divisions?$ filter =用户名eq'test \ name'

我得到以下

<message xml:lang="en-CA">No property 'Username' exists in type 'NetworkInfoService.Division' at position 0.</message>

http://localhost:54471/NetworkInfo.svc/Divisions?$ filter = NetworkAccount / Username eq'test \ name' 我得到以下

<message xml:lang="en-CA">No property 'NetworkAccount' exists in type 'NetworkInfoService.Division' at position 0.</message>

但是,如果我反其道而行之,如果我想让属于某个部门的用户,它就没问题了,见下文。

localhost:54471 / NetworkInfo.svc / NetworkAccounts?$ filter = Division / Name eq'TomeName'

非常感谢任何帮助。 感谢

2 个答案:

答案 0 :(得分:0)

您能否为Division和NetworkAccount类型发布模型的形状? 在OData中执行此操作的典型方法是查询,如: / NetworkAccounts(TheIDOfTheUserImLookingFor)/除

答案 1 :(得分:0)

好的,我想出了语法......它是这样的:

http://localhost:12345/NetworkInfo.svc/NetworkAccounts?$filter=Username eq 'test\name'&$expand=Division

$expand关键字就是诀窍。