首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BreezeJS -使用expand

BreezeJS -使用expand
EN

Stack Overflow用户
提问于 2014-02-04 05:25:55
回答 2查看 440关注 0票数 0

我正在查询服务器以获取一个带有扩展的实体

代码语言:javascript
复制
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;
};

我得到了结果,一切都很好,但是当我查询微风缓存来获得实体时-我得到的是空集合。那么,当使用expand时,展开的实体会被添加到缓存中吗?

EN

回答 2

Stack Overflow用户

发布于 2014-02-04 13:51:11

是,扩展中标识的相关实体应在缓存中...如果查询是“正确的”,并且服务器按照您的意图解释了您的请求。

查看来自第一个请求的响应的有效负载。相关实体是否存在?如果不是,则可能是该查询在服务器上没有得到很好的接收。一般来说,在怀疑Breeze是否对这些数据做了正确的处理之前,您需要确保数据是通过网络传输的。

我发现自己对你的展开列表中项目的拼写感到疑惑。它们都在PascalCase中。它们是Incident类型的导航属性的名称吗?或者它们是相关EntityTypes的名称?它们需要是前者(导航属性名称),而不是后者。

票数 0
EN

Stack Overflow用户

发布于 2014-02-04 21:12:13

我遇到了导航属性的问题--因为我没有使用OData webapi,没有使用EF,所以导航属性有问题,所以目前我只是写了

代码语言:javascript
复制
 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
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21538105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档