複数テーブルクエリの結果のデータ(http://www.breezejs.com/documentation/query-examples#Lookupsを参照)は、私が期待したものとは正確には異なります。(エンティティフィールドの)配列の配列(各テーブルのアイテム)を期待していました。しかし、私が得たのは、一種の配列の配列です。外側の配列は、予想どおり、各テーブルの項目で埋められています。ただし、内部オブジェクトは配列として入力されません。実際には、インデックス付きアイテム(0、1、2、...)のような名前のメンバーがありますが、配列ではないため、lengthまたはforEachを使用できません。これはBreezeのバグですか?
1つのテーブルからアイテムをクエリすると、結果は(エンティティフィールドの)配列として入力されることに注意してください。
これが私のサーバーコードです:
[HttpGet]
public object _Combo()
{
return new IOrderedQueryable[] { _contextProvider.Context.Company, _contextProvider.Context.Project, _contextProvider.Context.ProjectArea };
}
これが私のクライアントコードです:
entityManager.executeQuery(breeze.EntityQuery.from("_Combo"))
.then(function (data) {
var companies = data.results[0];
//companies is not an array, but does have numbered members!
}).fail(queryFailed);