过去一年我们一直在我们的项目中使用 Breeze ,并且对它非常满意。以前我们的服务器是一个带有 Entity Framework 的 asp.net 应用程序。现在我们正在转向 node.js 和 mysql。我们已经安装了 Breeze Sequelize 包,一切正常。
文档 breeze Node server w/sequelize 说查询的结果是 一个 promise ,解析结果格式化,以便它可以直接返回给 Breeze 客户端。 这实际上是发生了什么:查询的结果只是一个普通的旧 json 对象,带有来自数据库的值, 不是实体,就像 Breeze 理解实体那样。
我的问题是:我有一个场景,其中客户端实例化了一个繁重的服务器进程。客户端中不需要数据。该过程将完全在服务器上运行,进行查询、修改数据然后将它们保存在服务器中。在我的过程中,我如何 将 那些普通的旧 json 对象转换为实体,我想知道例如哪些对象已被修改,哪些已删除并向客户端发送适当的消息。
当然,我可以为自己创建一种机制来跟踪我的对象的变化,但我宁愿依赖 Breeze 管理器。
我应该在服务器中创建一个 Breeze 管理器吗?
var manager = new breeze.EntityManager(...)
第二个问题是:使用 Breeze Sequelize ,我是否可以处理交易?启动事务、完整事务和回滚事务?
谢谢您的意见
最佳答案
要将具有 Sequelize 实例属性值的 JSON 转换为实际实例,请使用:
Model.build({ /* attributes-hash */ }, { isNewRecord: false })
有关演示的示例,请参阅 here 。 Sequelize Instance 文档( here ,尤其是函数
changed
)也可能会有所帮助。我不熟悉 Breeze ,可能在这里误解了你的问题,这有帮助吗?
关于json - Breeze Sequelize : get entities in the server + transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33711016/