2015-10-20 67 views
0

我的应用程序有多个EntityManagers。当我向一个类型,它的伟大工程与第一EntityManger,但与第二EntityManager的,如果我延长了同一类型的我得到这个错误:使用多个实体管理器时,Breeze JS中的扩展类型失败

Error: Metadata query failed for: /mytest/Metadata. Unable to either parse or import metadata: Cannot register the same constructor for MyPart in different metadata stores. Please define a separate constructor for each metadata store.; Server side errors encountered - see the entityErrors collection on this object for more detail(…)

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

这是怎么了扩展实体:

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

感谢。

回答

0

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

这样,您只需要registerEntityTypeCtor一次。

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