我正在使用 Breeze 进行数据访问的SPA。我想尽快创建一个元数据实例,并且我想在完成初始化后之后将其命名为:var manager = new entityModel.EntityManager(serviceName);
但是,实体管理器需要向Web api Controller 执行Ajax请求以加载元数据,并且如果在完成之前尝试manager.metadataStore.getEntityType("EntityName")
,则会得到:Uncaught Error: Unable to locate an 'Type' by the name
我的问题是是否存在加载元数据时触发的事件?我在文档中徘徊,但似乎找不到。
最佳答案
没有事件,但是您可以自己调用MetadataStore.fetchMetadata方法,并在promise的“then”部分中执行您的逻辑。
对每个服务器的第一个查询(如果尚未调用)将在内部自动调用MetadataStore.fetchMetadata方法。 。
因此,只需在第一个查询之前自己调用MetadataStore.fetchMetadata即可。
希望这是有道理的。