我正在编写cordova + angular + breeze应用程序,其中来自元素的文本信息应存储在包装该应用程序的浏览器中。 Accordind to the docs为此,首先我需要在微风中创建新的实体类型。我执行以下操作:
var entityManager = new breeze.EntityManager("api/Northwind");
var newType = new breeze.EntityType({
shortName: "input"
});
接下来,我尝试创建这种类型的新实体:
var newEntity = newType.createEntity();
这将失败,并显示消息:“ TypeError:无法读取未定义的属性'_ctorRegistry'”
似乎是微风的非常基本的功能,但是我已经两天不能使用它了。有人可以帮我吗?
最佳答案
创建新的EntityType之后,应将其附加到metadataStore以创建新类型的实体。您的代码应如下所示:
var metadataStore = new breeze.MetadataStore();
entityManager= new breeze.EntityManager({
serviceName: "api/db",
metadataStore: metadataStore
});
// if you call fetchMetadata()
entityManager.fetchMetadata().then(function(){
var newType = new breeze.EntityType({
shortName: "input"
});
entityManager.metadataStore.addEntityType(newType);
newType.createEntity(...);
// ...
});
//or just use var metadataStore
var newType = new breeze.EntityType({
shortName: "input"
});
entityManager.metadataStore.addEntityType(newType);
newType.createEntity(...);
// ...