我遵循约翰爸爸的SPA,我开发了一个使用Hottowel,角和Breeze的示例应用程序。
在应用程序负载上,我正在获取元存储
function fetchMetadataOnPageLoad()
{
var store = manager.metadataStore;
return store.fetchMetadata(serviceName)
.then(gotMetadata)
.catch(handleFail);
}在上述步骤中,元数据将从服务器加载。
然后,我导航到某个页面,并试图通过以下查询获取数据
function GetAllUsers()
{
manager = emFactory.newManager();
var query = EntityQuery.from('users');
manager.executeQuery(query)
.then(querySucceeded, _queryFailed);
}``
然后,我得到了以下异常,因为查询在执行前两次调用服务器元数据方法,但我已经在页面上获取了元数据。
错误:
元数据查询失败:微风/微风/元数据。无法解析或导入元数据:在此MetadataStore中已经存在类型。;服务器端遇到的错误-有关详细信息,请参阅此对象上的entityErrors集合
是否有任何方法在执行查询时限制元数据调用。
请纠正我。
谢谢。
Hari C
发布于 2016-05-06 21:01:42
创建EntityManager时,告诉它您将手动检索服务器元数据:
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
});
};https://stackoverflow.com/questions/37080767
复制相似问题