【发布时间】:2014-05-14 23:43:22
【问题描述】:
我的目标是创建新类型的新实体并将其推送给经理。
我创建了新的实体类型:
var newType = new breeze.EntityType({
shortName: "input"
});
为了能够创建这种类型的新实体,我需要先获取元数据:
var entityManager = new breeze.EntityManager('api/Db');
entityManager.fetchMetadata(success, failed);
function success(){
var newEntity = entityManager.createEntity('input', {});
}
function failed(){}
问题是 entityManager.fetchMetadata(): "TypeError: Cannot call method 'then' of undefined"
为什么我会看到这个错误?
fetchMetadata() 是否尝试从某个地方 http: GET 元数据?我在任何地方都没有它.. 那么如何创建元数据呢?
更新: 以下建议我已将代码重写为:
//create new entity type
var newType = new breeze.EntityType({
shortName: "input",
autoGeneratedKeyType: breeze.AutoGeneratedKeyType.KeyGenerator
});
//add property
var info = new breeze.DataProperty({
name: "text",
dataType: breeze.DataType.String,
isNullable: true,
isPartOfKey: true,
maxLength: 20
});
newType.addProperty(info);
//create metadata on fly
var metadataStore = new breeze.MetadataStore();
metadataStore.addEntityType(newType);
var dataService = new breeze.DataService({
serviceName: 'isdataservice',
hasServerMetadata: false
});
var entityManager = new breeze.EntityManager({
dataService: dataService,
metadataStore: metadataStore
});
//create entry
var entity = entityManager.createEntity('input', { name: "nnn" });
【问题讨论】:
标签: breeze