【问题标题】:WCF DataServiceQuery for derived type派生类型的 WCF DataServiceQuery
【发布时间】:2016-01-18 00:52:57
【问题描述】:

我有一个基础实体和一个派生实体,还有一个额外的布尔属性。我的 WCF 数据服务公开了基础实体的 EntitySet。我可以在浏览器中查询:

http://myserver/myservice/BaseSet/Namespace.Derived()?$filter=(BoolProp eq false)

我得到了我的 Derived 类型的对象集合。都很好。

在我的客户端中,我有一个接受 DataServiceQuery 的网格。所以我构建了我的查询:

var query = context.CreateQuery<Proxy.Derived>("BaseSet");

但是当我尝试过滤派生属性时,它会返回错误。当我检查它在请求中使用的 URL 时,它丢失了我的派生类型的块,即它看起来像:

http://myserver/myservice/BaseSet()?filter=(BoolProp eq false)

构建可用于使用派生类型上的属性进行查询的 DataServiceQuery 的正确方法是什么?

【问题讨论】:

    标签: wcf wcf-data-services


    【解决方案1】:

    原来我只需要扩展 entitySetName 参数以包含我的派生类型:

    var query = context.CreateQuery<Proxy.Derived>("BaseSet/Namespace.Derived")();
    

    参数的名称不是很好。现在我真的费心去阅读它确实告诉我 entitySetName 应该是“解析为 URI 的字符串”的文档。不确定这对大多数人有帮助,但我应该早点检查一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2012-09-08
      • 2012-10-23
      • 2019-03-02
      • 1970-01-01
      相关资源
      最近更新 更多