breeze EntityManager元数据加载时间问题

时间:2013-08-27 07:49:57

标签: breeze

加载应用程序的DOM非常慢,因为加载微风元数据非常慢。有没有提示让它加载更快并优化?

请查看以下链接,了解它对加载时间的影响程度。

https://dl.dropboxusercontent.com/u/2781659/8-27-2013%201-02-38%20PM.jpg

2 个答案:

答案 0 :(得分:2)

我的代码问题是它开始在加载时查询breeze管理器。

如果在查询执行期间元数据不可用,则Breeze会加载元数据。

我更改了代码,以便在元数据加载之前不会触发查询。

我的代码更改如下。

在viewmodel加载期间,我调用loadMetadata()函数并提供回调。加载元数据后,我的回调方法将触发初始查询。

var manager;
var store;

function loadMetadata(callback)
{
  manager = new breeze.EntityManager(serviceName);
  store = manager.metadataStore;
  store.fetchMetadata(serviceName, callback);        
}

答案 1 :(得分:0)

请参阅Loading metadata with breeze is slow获取提示。

但你有其他问题。我可以想到为什么同一个EntityManager INSTANCE会要求两次相同的元数据。也许你每次都在创造一个新的EM?如果这就是你想要做的,你可以在EM之间共享相同的metedatastore。

你想知道一开始是什么让它变慢。我怀疑这与Breeze在客户端或服务器上有什么关系。