我正在使用一个NoDb解决方案,我使用我在这里进行的对话之后创建的命令行工具生成POCO模型的元数据:https://stackoverflow.com/a/14904913/178620
即使有了这些元数据,我也发现Breeze并没有将带有简单查询的实体具体化。因此,typeInitializers没有被执行,实体属性也不是可观察的。
我知道我的设置和元数据是正确的,因为我以前在typeInitializer函数上定义了typeInitializer属性。让我解释一下是什么改变了!
以前,由于我们使用AutoMapper,我不得不避免使用IQueryable,这导致我使用jQuery gets逐个加载实体。这样,实体就不会物化,所以我在entityManager中公开公开了entityManager函数来手动完成这个操作,而瞧(一种低估的)操作是有效的。
从那以后,我们实现了一个横切模型并消除了AutoMapper,现在我可以再次使用IQueryable了,因此可以使用Breeze查询。然而,我很困惑为什么我的实体没有按预期工作!
发布于 2013-04-01 18:18:30
看看yourEntityManager.metadataStore.getEntityTypes()方法返回的entityTypes,并将其与服务器返回的json中嵌入的实体类型名称进行比较。
json结果中每个实体的$type属性用于在metadataStore中定位相应的'entityType‘。我的猜测是,要么是类型名称现在不同了,要么是您在BreezeController上缺少了一个ApiController属性。此属性确保使用正确的JSON.NET序列化设置。
https://stackoverflow.com/questions/15737479
复制相似问题