我们有一个非常动态的元模型,它经常变化。我们不使用EF,而是使用自己的数据库技术。
由于我们没有找到关于如何“手动”创建服务器端元模型的任何好文档,我们决定创建客户端元模型并在加载应用程序时将其导入微风。
现在我们遇到了问题,即使我们告诉breeze获取所有Person-Objects并取3,服务器会扩展所有关联并返回3个以上的结果。然后Breeze将客户端上的结果剪切为3并填充属性。
现在我想知道,如果我们只是不理解一些概念。我们要做的就是动态地告诉breeze我们的元模型在不使用EF或NHybernate的情况下是怎样的。有没有关于那个的文件?
我发现的Schema上唯一的文档就是这个: http://www.breezejs.com/documentation/metadata-schema
但它只解释了客户端-Metamodel,而不是我们的服务器端必须生成的Schema。据我所知,无论如何,Server-Side-Metamodel都被转换为客户端-Metamodel。
如果有人可以澄清或提供有关该主题的所有“基本信息”的链接,那就太好了。
答案 0 :(得分:0)
客户端元数据适用于Breeze客户端。服务器不应该需要它,因为它已经知道域模型的样子。当使用ORM时,服务器端元数据的内容通常来自数据库和/或映射层。
Breeze的服务器端WebApi过滤器尝试将OData查询参数应用于来自数据提供者(EF,NH或其他)的IQueryable。如果数据提供程序的LINQ实现不完整,则可能导致您提到的问题,take
无效。
不幸的是,metadata-schema文件已过时。从那时起,Breeze元数据JSON格式的结构发生了变化。您最好查看example of current metadata,并遵循Metadata by Hand指南。