Breeze 某些导航属性在重要性之后为空

Breeze 某些导航属性在重要性之后为空,breeze,Breeze,我在应用程序中使用了多个管理器。创建新管理器后,我立即执行以下操作(伪代码): 在现有管理器中,所有实体都按预期工作,并且所有导航属性都已正确填充。但在新的管理器中,某些实体具有空导航属性。将填充外键属性,但导航属性为空 现任经理: ParentEntity id = 1 childEntities = [childEntity] ChildEntity id = 2 parentEntity = parentEntity parentEntityId = 1 新任经理: ParentEnt

我在应用程序中使用了多个管理器。创建新管理器后,我立即执行以下操作(伪代码):

在现有管理器中,所有实体都按预期工作,并且所有导航属性都已正确填充。但在新的管理器中,某些实体具有空导航属性。将填充外键属性,但导航属性为空

现任经理:

ParentEntity
id = 1
childEntities = [childEntity]

ChildEntity
id = 2
parentEntity = parentEntity
parentEntityId = 1
新任经理:

ParentEntity
id = 1
childEntities = []

ChildEntity
id = 2
parentEntity = null
parentEntityId = 1

这只发生在几个实体上。绝大多数实体都是在管理器中正确创建的,具有预期的导航属性。但是我看不出没有正确导入的实体有什么不同。发生这种情况的原因是什么?

您使用的是哪种版本的Breeze

不久前,我们报告了一个类似的问题,但它在1.3.2版上得到了修复

当时,问题发生在backingStore上,与registerEntityTypeCtor中的initializationFn参数有关。 解决方法是不设置initializationFn,而是在创建实体后使用initializationFn代码调用方法

上述问题在1.3.2版中再次得到修复

如果您使用的是1.3.2或更高版本,但仍然存在问题,请创建一个小的解决方案,再现该问题,并将其发送到breeze@ideablade.com

=================================

编辑:

我们刚刚发布了版本1.4.1,它修复了EntityManager.importEntities并不总是完全修复复杂图形中的关系的错误


如果1.3.2上的补丁无法解决您的问题,您可能需要尝试此最新版本。

这些可能是多种关系吗?您确定导出时已填充导航道具吗。外键的存在并不意味着已经获取了相关实体。没有很多关系。在导出/导入之前,我可以看到不正确导入的实体的导航属性出现在现有管理器中的实体中。不仅仅是外键属性…还填充了完整导航属性实体。当我查看existingManager.exportEntities()的输出时,我可以看到所有有问题的实体似乎都如预期的那样存在。类型I的实体称为“ParentEntity”(即缺少导航属性的类型),位于exportEntities()输出的最末端。2) 作为故障排除步骤,我尝试导出/导入每个实体类型的所有实体,一次一个实体类型。使用此方法在新经理的实体中正确填充所有导航属性谢谢您发布编辑。这使我不用花时间去创建一个重现问题的解决方案。1.4.1为我解决了这个问题。
ParentEntity
id = 1
childEntities = []

ChildEntity
id = 2
parentEntity = null
parentEntityId = 1