通过WCF数据服务中的WebGet方法检索导航属性

时间:2014-12-04 08:05:20

标签: c# wcf-data-services navigation-properties webget

朋友们! 我在WebGet方法中获取WCF数据服务中的导航属性时遇到问题。

  1. 我关闭了ProxyCreationEnabled和LazyLoadingEnabled
  2. 我有[DataContractAttribute(IsReference=true)][DataMember]属性。
  3. 我在服务方面看到了填充的属性,但我在客户端看不到它们。
  4. 我创建了通常的WCF服务(基于[ServiceContract]属性),并在其客户端中看到了填充属性。
  5. 我做错了什么?非常感谢!

1 个答案:

答案 0 :(得分:0)

如果实体不是ComplexTypes,而是EntityTypes(可以从他们自己的集合中检索),默认情况下它们不会被填充。你需要使用:

<host>/urlForResource?$expand=Property1,Property2

如果这不起作用,请检查您正在实施的OData的版本以及您正在使用的WCF DataServices的版本。如果您使用旧版本,则可能无法在WCF DataServices中实现$ expand。

此外,在WebApi的OData服务中,必须添加[EnableQuery]属性,以支持$ expand等参数,寻找在WCF DataServices上启用查询选项的方法。