常に新しいエンティティ(スコア)を作成するビューモデルがあります。これを知るためにリポジトリを待つ必要もクエリする必要もありません。
(現在)ページの読み込み時に新しいエンティティを作成し、それを使用して(KnockoutJS)ビューモデルにデータを入力したいと思います。
エンティティマネージャーはメタデータを遅延的に設定し、メタデータの作成を強制するためだけに不要なクエリを実行することで、必要な動作を偽装したと思います。APIドキュメントはこれをカバーしていません:
http://www.breezejs.com/sites/all/apidocs/classes/EntityManager.html#property_metadataStore
質問 冗長なクエリを発行せずに、マネージャーにメタデータを強制的に入力させる方法はありますか?
これは、その意図を示すために平坦化されたなりすましコードです。
manager.executeQuery(redundantQuery).then(function(data) {
var viewScore = manager.metadataStore.getEntityType("Score").createEntity();
viewScore.ID(breeze.core.getUuid());
viewScore.Value(57);
ko.applyBindings(viewScore, $ViewScore);
}).fail(function(e){
...
})
私は満足しているでしょう:
manager.metadataStore.then(function() {
})...