breeze如果不存在则获取元数据

时间:2013-10-08 10:54:07

标签: angularjs breeze asp.net-web-api

我有一个angular / breeze / webapi应用程序,除非我刷新一个具有EntityQuery的页面以返回一个实体,否则效果很好。然后它抱怨元数据不可用,因为实体查询不会触发元数据提取,这与标准查询不同。

如果我们从上一个已发出标准微风查询的角度页面到达页面,那么元数据已经存在,我们没有问题。

所以问题是,如何检查元数据是否存在并触发元数据调用(如果尚未完成)?

非常感谢你能给我的任何帮助。

1 个答案:

答案 0 :(得分:6)

尝试这样的事情:

function fetchMetadata() {
    var manager = new breeze.EntityManager("api/breeze");
    if (manager.metadataStore.isEmpty()) {
        return manager.fetchMetadata();
    }

    return Q.resolve();
}

function start() {
     fetchMetadata().then(function () {
            // Metadata fetched.
            // Do something here.
     });
}