importEntities之后的某些导航属性为null

时间:2013-08-12 19:40:25

标签: breeze

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

newManager.importEntities(existingManager.exportEntities());

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

现有经理:

ParentEntity
id = 1
childEntities = [childEntity]

ChildEntity
id = 2
parentEntity = parentEntity
parentEntityId = 1

新经理:

ParentEntity
id = 1
childEntities = []

ChildEntity
id = 2
parentEntity = null
parentEntityId = 1

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

1 个答案:

答案 0 :(得分:0)

您使用的是什么版本的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上的修复程序无法解决您的问题,您可能需要尝试使用此最新版本。