0

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

newManager.importEntities(existingManager.exportEntities());

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

现有经理:

ParentEntity
id = 1
childEntities = [childEntity]

ChildEntity
id = 2
parentEntity = parentEntity
parentEntityId = 1

新经理:

ParentEntity
id = 1
childEntities = []

ChildEntity
id = 2
parentEntity = null
parentEntityId = 1

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

4

1 回答 1

0

你用的是什么版本的微风?

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

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

再一次,上述问题在版本 1.3.2 中得到修复。

如果您使用的是 1.3.2 或更高版本,但仍有问题,请创建一个重现问题的小解决方案并将其发送至微风@ideablade.com

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

编辑:

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

如果 1.3.2 上的修复不能解决您的问题,您可能想尝试这个最新版本。

于 2013-08-13T20:25:44.027 回答