【问题标题】:breeze sequelize: get entities in the server + transaction微风sequelize:获取服务器中的实体+事务
【发布时间】:2016-02-16 02:43:09
【问题描述】:

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

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

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

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

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

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

第二个问题是:我们是否使用微风续集处理交易?开始事务、完成事务和回滚事务?

感谢您的意见

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的帮助。但它是关于将其更改为微风实体,而不是续集模型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 2014-08-31
    • 1970-01-01
    • 2019-11-01
    • 2021-11-18
    相关资源
    最近更新 更多