0

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 が存在しないというエラーが表示されます

4

2 に答える 2

0

詳細な情報がないとわかりませんが、「camelCase」などの命名規則が設定されている可能性があるかどうかを確認する価値があります。その場合、「IncidentType」は「incidentType」になります。すなわち:

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

もう 1 つの可能性は、リソース名 "Incidents" が正しくないことです。

この種の問題を判断する最善の方法は、クライアント側のメタデータをより詳しく調べることです。これには 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.
于 2013-05-23T16:32:10.530 に答える