目前我有一个使用WebAPI和EF与Breeze的项目,它适用于元数据的东西,可以在服务器上进行验证,但是当迁移到NodeJS和MongoDB时,我会因尝试从MongoDB获取元数据而陷入困境。我检查了zza BMEAN应用程序,但我刚看到这个项目:
app.get('/breeze/Breeze/Metadata', getMetadata);
function getMetadata(req, res, next) {
next({
statusCode: 404,
message: "No metadata from the server; metadata is defined on the client"
});
}
我还阅读了有关Breeze / MongoDB的所有文档,但仍然无法帮助我获取元数据。 重点是我只想用BMEAN而不是WebAPI + EF + Breeze来改变后端,不需要在客户端上更改代码。
由于
答案 0 :(得分:0)
元数据由EF提供,而不是由MongoDB提供。如果您使用CodeFirst方法与EF,那么您应该已经有一个DBContext。
这讨论了如何使用DBContext -
http://www.breezejs.com/documentation/entity-framework-dbcontext
这里讨论了如何使用EF作为设计工具来从类构建元数据 -
http://www.breezejs.com/documentation/ef-design-tool
你可能已经拥有了生成元数据所需要的东西,它只是扩展了它并公开了一个服务来提供给客户端。
答案 1 :(得分:0)
PW Kad的回答是正确的,但为了澄清,没有办法从MongoDB数据库获取元数据,因为数据库本身具有不确定的结构。所以你必须告诉你的客户结构是什么。如果您想为EF和Mongo使用相同的客户端代码,那么在Mongo项目中保存EFContext提供的元数据非常有意义。在其他情况下,只需通过Breeze的元数据api调用直接在客户端上定义元数据。