Breeze-定义键以添加实体

Breeze-定义键以添加实体,breeze,Breeze,我想向我的经理添加一个实体。 经理保存在我的MasterViewmodel中,我正在使用knockout Error: Cannot attach an object to an EntityManager without first setting its key or setting its entityType 'AutoGeneratedKeyType' property to something other than 'None' 我的代码: var item = {

我想向我的经理添加一个实体。 经理保存在我的MasterViewmodel中,我正在使用knockout

Error: Cannot attach an object to an EntityManager without first setting its key or setting its entityType 'AutoGeneratedKeyType' property to something other than 'None'
我的代码:

var item = {           
        GuidUser: masterViewModel.UserID,
        GuidProject: ProjectID,
        Start: startTime,
        End: stopTime,
        Description: workDone,
        IdCustomer: null,
        timestampId: null,
        Charged: false,
        ToCharge: toCharge,
        };
var item2 = masterViewModel.breezeProjectManager().createEntity('Timestamp', item);
masterViewModel.breezeProjectManager().addEntity(item2);

但如何设置关键点呢

首次定义任何EntityType时,都应至少有一个DataProperty将其“isPartOfKey”属性设置为true。任何EntityType的元数据都是从服务器返回的元数据的具体化结果,或者是在客户机上创建的。在这两种情况下,必须先创建“EntityType”元数据,然后才能创建该类型的任何实体

我的猜测是,当您第一次尝试创建实体时,您尚未获取元数据或创建元数据。在您的情况下,您可以在尝试创建实体之前调用fetchMetadata

breezeProjectManager().metadataStore.fetchMetadata().then(function() {
   .. perform your creation and add logic here.
}

另一种可能性是,无论哪个字段(或多个字段)使用'isPartOfKey'=true定义的,在调用'addEntity'之前未设置为非空值。

首次定义任何EntityType时,它至少应具有一个DataProperty,其'isPartOfKey'属性设置为true。任何EntityType的元数据都是从se返回元数据的结果在客户端上创建了或。在这两种情况下,必须先创建“EntityType”元数据,然后才能创建该类型的任何实体

我的猜测是,当您第一次尝试创建实体时,您尚未获取元数据或创建元数据。在您的情况下,可以在尝试创建实体之前进行fetchMetadata调用。i、 e

breezeProjectManager().metadataStore.fetchMetadata().then(function() {
   .. perform your creation and add logic here.
}
另一种可能性是,无论哪个字段(或多个字段)定义为“isPartOfKey”=true,在调用“addEntity”之前都没有设置为非空值。

请尝试以下操作:

var item2 = masterViewModel.breezeProjectManager()
           .createEntity('item', { timestampId: breeze.core.getUuid() });
请尝试以下操作:

var item2 = masterViewModel.breezeProjectManager()
           .createEntity('item', { timestampId: breeze.core.getUuid() });

但是如何在时间戳中为我的Guid设置'isPartOfKey'=true?如何通过fetchMetadata调用或直接通过创建entityType来定义entityType?但是如何在时间戳中为我的Guid设置'isPartOfKey'=true?如何定义entityType,通过fetchMetadata调用或直接通过创建entityType?如果您是以javascript模型而不是从数据库创建实体,请参阅此链接以获取完整解释。如果您将实体创建为javascript模型,而不是从数据库创建实体,请参阅此链接以获取完整的解释。