breeze createEntity没有初始化其中一个导航属性

时间:2015-04-16 14:46:59

标签: breeze navigation-properties

我正在使用entitymanager的createEntity创建一个breeze实体。在创建时,我发现其导航属性中只有一个为空,而其他属性则为。

              var chargeEntity = {
              ClientId: data.ClientId,
              PatientId: data.PatientId,
              AssessmentLogId: data.AssessmentLogId,
              MedicalRecordNbr: data.Patient.MedicalRecordNbr,
              AssessmentTypeCd: data.AssessmentType.AssessmentTypeCd,
              ReviewDate: new Date(),
              Qty: 1,
              InsertDate: new Date(),
              ProductId: data.ProductId 
            };
            var charge = datacontext.createEntity('Charge', chargeEntity);

我发现在计费实体中,AssessmentLog导航属性为null,而其他人则分配了Client,Patient和Product。 可能是什么原因?

调试一段时间后,我发现在breeze.debug.js中,在下面的函数中:

 proto._findEntityGroup = function (entityType) {
    return this._entityGroupMap[entityType.name];
 };

_entityGroupMap不包含导航属性AssessmentLog的条目,因此该属性被设置为null。

1 个答案:

答案 0 :(得分:0)

实体AssessmentLog不在AssessmentLogId的缓存中,这就是导航属性被设置为null的原因。

我为AssessmentLogId执行了一个微风查询,然后正确设置了收费实体的AssessmentLog。