【问题标题】:querying fields with name containing whitespace using OData使用 OData 查询名称包含空格的字段
【发布时间】:2013-09-25 14:30:59
【问题描述】:

我必须对名称包含空格的字段进行 $filter 查询。 例如, $filter=票号 例如'abc_123'

我开始认为这是不可能的。有人可以帮我解决这个问题吗?

谢谢。

【问题讨论】:

    标签: odata


    【解决方案1】:

    我想分享这个,我试图通过我的 SharePoint 托管的 SharePoint 2013 应用程序查询休息服务,并且我找到了解决方案。您只需将字段名称中的空格替换为_x0020_

    【讨论】:

    • 就像“Ticket_x0020_No”
    • 这太完美了!我正在寻找向 Excel 列标题添加特殊字符,这就像一个魅力。如果使用 WCF 数据服务设置 OData 提要并且您需要空格,则可以将其添加到 POCO 的属性名称中。
    • 只是为了向未来的读者澄清,将空格替换为“x0020”而不是“x0020”
    • 我刚刚意识到 stackoverflow 使用下划线来斜体字。我上面的评论应该说明格式是下划线 x00200 下划线。
    【解决方案2】:

    OData 属性名称不能包含空格。请参阅 xsd 架构 here。在架构中查找类型 TSimpleIdentifier。定义如下所示,

    <xs:simpleType name="TSimpleIdentifier">
        <xs:restriction base="xs:string">
            <xs:maxLength value="128" />
            <!-- ECMAScript identifiers not starting with a '$' -->
            <xs:pattern value="[\p{L}\p{Nl}_][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}" />
        </xs:restriction>
    </xs:simpleType>
    

    【讨论】:

      猜你喜欢
      • 2023-01-07
      • 1970-01-01
      • 2021-05-01
      • 2015-09-30
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多