BreezeJS-使用扩展
我正在查询服务器以获取具有expand的实体BreezeJS-使用扩展,breeze,Breeze,我正在查询服务器以获取具有expand的实体 function _loadIncidents() { var deffered = Q.defer(), queryObj = new breeze.EntityQuery().from('Incidents').expand(['Deployments', 'IncidentComments', 'DTasks', 'ExtendedProperties', 'IncidentEvents']); dataRep
function _loadIncidents() {
var deffered = Q.defer(),
queryObj = new breeze.EntityQuery().from('Incidents').expand(['Deployments', 'IncidentComments', 'DTasks', 'ExtendedProperties', 'IncidentEvents']);
dataRepository.fetchEntitiesByQuery(queryObj, true).then(function (incidents) {
var query = breeze.EntityQuery.from("DTasks"),
incidentIds = dataRepository.getEntitiesByQuerySync(query);
deffered.resolve();
}, function(err) {
deffered.reject(err);
});
return deffered.promise;
};
我得到了结果,一切都很好,但当我查询breeze缓存以获取实体时,我得到的是空集合。因此,当使用扩展时,是否将扩展的实体添加到缓存中?是,扩展中标识的相关实体应在缓存中。。。如果查询是“正确的”,并且服务器按照您的预期解释了您的请求 查看来自第一个请求的响应的有效负载。相关实体是否在场?如果不是,则可能查询在服务器上没有得到很好的接收。作为一般规则,您需要确保数据通过电线传输,然后再考虑Breeze是否使用这些数据做了正确的事情
我确实发现自己对您的扩展列表中的项目的拼写感到疑惑。他们都在帕斯卡斯。它们是
事件
类型的导航属性的名称吗?或者它们是相关实体类型的名称?它们必须是前者(nav属性名称),而不是后者。我对导航属性有问题-因为我没有使用OData webapi,也没有使用EF,所以导航属性有问题,所以目前我刚刚编写了
Object.defineProperty(this, 'Deployments', {
get: function () {
return (this.entityAspect && this.entityAspect.entityManager) ?
this.entityAspect.entityManager.executeQueryLocally(new breeze.EntityQuery("Deployments").
where('IncidentID', 'eq', this.IncidentID)) :
[];
},
set: function (value) { //used only when loading incidents from the server
if (!value.results) {
return;
}
var i = 0,
dataRepository = require('sharedServices/dataRepository');
for (i; i < value.results.length; i++) {
dataRepository.addUnchangedEntity('Deployment', value.results[i]);
}
},
enumerable: true
});
Object.defineProperty(这是“部署”{
get:function(){
返回(this.entityAspect&&this.entityAspect.entityManager)?
this.entityAspect.entityManager.ExecuteQueryLocal(new breeze.EntityQuery(“部署”)。
其中('IncidentID','eq',this.IncidentID)):
[];
},
set:函数(值){//仅在从服务器加载事件时使用
如果(!value.results){
返回;
}
var i=0,
dataRepository=require('sharedServices/dataRepository');
对于(i;i
您的延期付款有什么意义?为什么不直接从dataRepository.fetchentiesbyquery
返回承诺呢?