Breezejs在OData上查询时出错

时间:2013-05-23 08:13:16

标签: breeze

我正在尝试使用breezejs和angular来查询带有odata的web api服务 我正在获取具有正确属性的元数据

<Property Name="IncidentID" Type="Edm.Int32" Nullable="false" />
    <Property Name="Name" Type="Edm.String" />
    <Property Name="IncidentType" Type="Edm.Int32" Nullable="false" />
    <Property Name="Description" Type="Edm.String" />

我发送查询时

var query = breeze.EntityQuery
            .from("Incidents").where("IncidentType", "lt", 60);

我收到错误声称属性IncidentType不存在

2 个答案:

答案 0 :(得分:0)

如果没有更多信息,我不确定,但是如果你可能有一个namingConvention,可能是'camelCase',那么值得一试。如果是,则“IncidentType”将变为“incidentType”。即:

var query = breeze.EntityQuery
        .from("Incidents").where("incidentType", "lt", 60);

另一种可能是您的资源名称“事件”不正确。

确定此类问题的最佳方法是更密切地查看客户端元数据。为此使用MetadataStore.getEntityType方法。

 // assuming an entityType of "Incident" is associated with the "Incidents" resource name.
 var et = myEntityManager.metadataStore.getEntityType("Incident");
 var dataProperties = et.dataProperties; // check the names on each of these.

答案 1 :(得分:0)

我发现了问题 - 设置了骆驼命名