好的,我用另一种方式问了这个问题,但还没有看到回复,所以试图简化问题 -
我想创建多个实体并将它们留在 Breeze 的“添加”实体状态中。然后我只想返回那些对象并通过导航属性将它们绑定回父对象。
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 属性但是我仍然不知道如何查询它们并通过导航属性将它们绑定回父对象(对不起,如果我在那里搞砸了术语:))