Angularjs BreezeJS修改默认密钥
我使用breezeJS和实体框架,使用ui引导模式对话框为用户输入字段提供输入标签。因为我需要一个初始化的实体,所以我还需要为该实体提供一个实体键,我相信在“分离的实体”下有描述。如果我不更改模式中的键值,一切都会好起来。但是,在用户输入相应的键之前,该键应该是占位符键。出现这种情况时,manager.saveChanges()会捕获一个错误。我尝试将实体初始化为分离,完成模式,然后添加到管理器,但也没有成功。关于如何使用默认密钥初始化实体(该密钥将立即被用户替换)有何想法?谢谢Angularjs BreezeJS修改默认密钥,angularjs,entity-framework,breeze,Angularjs,Entity Framework,Breeze,我使用breezeJS和实体框架,使用ui引导模式对话框为用户输入字段提供输入标签。因为我需要一个初始化的实体,所以我还需要为该实体提供一个实体键,我相信在“分离的实体”下有描述。如果我不更改模式中的键值,一切都会好起来。但是,在用户输入相应的键之前,该键应该是占位符键。出现这种情况时,manager.saveChanges()会捕获一个错误。我尝试将实体初始化为分离,完成模式,然后添加到管理器,但也没有成功。关于如何使用默认密钥初始化实体(该密钥将立即被用户替换)有何想法?谢谢 //datac
//datacontext.js
function saveChanges() {
if (createItem.entityAspect.entityState.isDetached()) {
manager.addEntity(createItem);
}
if (manager.hasChanges()) {
manager.saveChanges()
.then(saveSucceeded)
.catch(saveFailed);
} else {
console.log("Nothing to save");
}
function saveSucceeded() {
console.log("Save succeeded");
return;
}
function saveFailed() {
console.log("Save failed");
return;
}
}
function newItem() {
createItem = manager.createEntity('Some_Entity_Type',
{ aPI: '1000001' }, breeze.EntityState.Detached);
return createItem;
};
问题似乎是用实际的主键值初始化的。初始化为
function newItem() {
createItem = manager.createEntity('Some_Entity_Type',
{ aPI: 0 }, breeze.EntityState.Detached);
return createItem;
};
充当临时占位符,直到用户输入实际密钥。我更大的问题是由于ui模式中有不同类型的输入框,每个输入框都是type=“text”,因此键值被输入为text,并引发错误