使用多个实体管理器时,Breeze JS中的扩展类型失败

时间:2015-10-20 15:58:59

标签: breeze

我的应用程序有多个EntityManagers。当我扩展一个类型时,它适用于第一个EntityManger,但是对于第二个EntityManager,如果我扩展相同的类型,我会收到此错误:

  

错误:元数据查询失败:/ mytest / Metadata。无法解析或导入元数据:无法在不同的元数据存储中为MyPart注册相同的构造函数。请为每个元数据存储定义一个单独的构造函数。遇到服务器端错误 - 请参阅此对象上的entityErrors集合以获取更多详细信息(...)

这是什么意思?我怎么想定义单独的构造函数?

这就是我扩展实体的方式:

entityManager.metadataStore.registerEntityTypeCtor("MyPart", MyPart);

感谢。

1 个答案:

答案 0 :(得分:0)

使用multiple EntityManagers时,您应该使用单个MetadataStore并在EntityManagers中共享它。

这样,您只需registerEntityTypeCtor一次。

如果您从单个“masterManager”开始并加载/注册其元数据,则可以使用masterManager.createEmptyCopy()来获取具有相同MetadataStore的新空管理器。