breeze sequelize:获取服务器+事务中的实体

时间:2015-11-14 17:07:09

标签: json node.js transactions breeze sequelize.js

过去一年,我们在项目中一直使用微风,对此非常满意。以前我们的服务器是一个带有实体框架的asp.net应用程序。现在我们转向node.js和mysql。我们安装了breeze-sequelize包,一切正常。

文档breeze Node server w/sequelize表示查询的结果是格式化已解析结果的承诺,以便可以直接将其返回给breeze客户端。这实际上是什么发生:查询的结果只是一个普通的旧json对象,其中包含来自数据库的值,不是像微风理解实体那样的实体。

我的问题是:我有一个场景,客户端实例化了繁重的服务器进程。客户端预计不会有数据。该过程将完全在服务器上运行,进行查询,修改数据,然后将它们保存在服务器中。如何在我的过程中将那些普通的旧json对象转换为实体,我想知道例如哪些对象已被修改,已被删除的内容以及向客户端发送适当的消息。

当然,我可以创建一种跟踪对象变化的机制,但我宁愿依赖微风管理器。

我应该在服务器中创建一个breeze管理器吗?

var manager = new breeze.EntityManager(...)

第二个问题是:使用breeze-sequelize我会处理交易吗? start-transaction,complte-transaction和rollback-transaction?

感谢您的输入

1 个答案:

答案 0 :(得分:0)

要将具有Sequelize实例的属性值的JSON转换为实际的实例使用:

Model.build({ /* attributes-hash */ }, { isNewRecord: false })

有关演示此示例的示例,请参阅here。 Sequelize Instance文档(here,尤其是函数changed)也可能会有所帮助。我对Breeze不熟悉,可能在这里误解了你的问题,这有帮助吗?