我正在使用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。
答案 0 :(得分:0)
实体AssessmentLog不在AssessmentLogId的缓存中,这就是导航属性被设置为null的原因。
我为AssessmentLogId执行了一个微风查询,然后正确设置了收费实体的AssessmentLog。