首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阻止EntityQuery调用元数据

如何阻止EntityQuery调用元数据
EN

Stack Overflow用户
提问于 2016-05-06 20:17:53
回答 1查看 149关注 0票数 0

我遵循约翰爸爸的SPA,我开发了一个使用Hottowel,角和Breeze的示例应用程序。

在应用程序负载上,我正在获取元存储

代码语言:javascript
运行
复制
function fetchMetadataOnPageLoad()
{
  var store = manager.metadataStore;
            return store.fetchMetadata(serviceName)
            .then(gotMetadata)
            .catch(handleFail); 
}

在上述步骤中,元数据将从服务器加载。

然后,我导航到某个页面,并试图通过以下查询获取数据

代码语言:javascript
运行
复制
 function GetAllUsers()
        {
            manager = emFactory.newManager();
            var query = EntityQuery.from('users');
            manager.executeQuery(query)
                       .then(querySucceeded, _queryFailed);
        }`

`

然后,我得到了以下异常,因为查询在执行前两次调用服务器元数据方法,但我已经在页面上获取了元数据。

错误:

元数据查询失败:微风/微风/元数据。无法解析或导入元数据:在此MetadataStore中已经存在类型。;服务器端遇到的错误-有关详细信息,请参阅此对象上的entityErrors集合

是否有任何方法在执行查询时限制元数据调用。

请纠正我。

谢谢。

Hari C

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-06 21:01:42

创建EntityManager时,告诉它您将手动检索服务器元数据:

代码语言:javascript
运行
复制
var dataService = new breeze.DataService({
    serviceName: 'api/Datamart',
    hasServerMetadata: false // solution here - will prevent metadata call on 1st query
});
var store = new breeze.MetadataStore();

store.fetchMetadata(dataService.serviceName)
    .then(function () {
        manager = new breeze.EntityManager({
            dataService: dataService,
            metadataStore: store
    });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37080767

复制
相关文章

相似问题

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