breeze createEntity未初始化导航属性之一
我正在使用entitymanager的createEntity创建一个breeze实体。创建时,我发现它的导航属性只有1个为null,而其他属性则被赋值breeze createEntity未初始化导航属性之一,breeze,navigation-properties,Breeze,Navigation Properties,我正在使用entitymanager的createEntity创建一个breeze实体。创建时,我发现它的导航属性只有1个为null,而其他属性则被赋值 var chargeEntity = { ClientId: data.ClientId, PatientId: data.PatientId, AssessmentLogId: data.AssessmentLogId,
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);
我发现,在charge实体中,AssessmentLog导航属性为空,其中分配了其他属性,如客户、患者和产品。
原因可能是什么
经过一段时间的调试,我发现在breeze.debug.js中,在下面的函数中:
proto._findEntityGroup = function (entityType) {
return this._entityGroupMap[entityType.name];
};
_entityGroupMap不包含导航属性AssessmentLog的条目,因此该属性被设置为null。实体AssessmentLog不在AssessmentLogId的缓存中,这就是导航属性被设置为null的原因 我对AssessmentLogId执行了breeze查询,然后正确设置了收费实体的AssessmentLog