わかりました、これを別の方法で尋ねましたが、まだ回答を見ていないので、質問を単純化しようとしています -
複数のエンティティを作成し、Breeze で「追加された」entityState に残したい。次に、それらのオブジェクトのみを返し、ナビゲーション プロパティを介して親にバインドし直します。
var createEntities = function (parent) {
manager.createEntity('child', {parentId = parent.id()});
};
次に、親を照会し、追加ビュー用に作成されたエンティティのみを返します-
var getThoseDamnedEntities = function (parentObservable) {
var query = EntityQuery.from('Parents')
.where('id', '==', parentObservable.id())
.expand('Child');
return manager.executeQuery(query)
.then(querySucceeded)
.fail(queryFailed);
function querySucceeded(data) {
if (parentObservable) {
parentObservable(data.results);
}
log('Retrieved [Parent] from remote data source',
data, true);
}
};
しかし、entityState.Added で子の結果をフィルター処理して、まだ保存されていない新しいエンティティのみを返し、保存する前に変更できるようにしたいと考えています。助言がありますか?
これを詳しく説明するには、タイプ別にエンティティを直接クエリし (つまり、query = EntityQuery.from('Child').where())、コンストラクターを使用して、「追加済み」エンティティ専用の ko.computed プロパティを取得できます。しかし、それらをクエリして、ナビゲーションプロパティを介して親オブジェクトにバインドする方法をまだ理解できません(用語を台無しにして申し訳ありません:))