【问题标题】:Export/Import entities which were created server-side导出/导入在服务器端创建的实体
【发布时间】:2016-10-01 00:16:32
【问题描述】:

如果你通过EntityManager.createEntity()创建实体客户端,在导出时,微风会生成tempKeys并将它们分配给新创建的实体。

但是有些实体是在服务器端创建的,但没有保存(只是用 new 运算符创建的)。 Breezejs 客户端正在查询。已获取实体的 EntityState 未更改。 PrimaryKey Id=0,它是刚刚创建的,但没有保存到 db。 当您在管理器上创建 exportEntities 时,它不会生成 tempKey,并且实体 ID 保持为零。我尝试在导出之前在该实体上手动将 EntityState 设置为已添加,但仍然没有生成 tempKey。

任何想法如何正确导出来自服务器端的未保存实体?

【问题讨论】:

    标签: breeze


    【解决方案1】:

    我认为 Breeze 仅在实体以“已添加”状态附加到 EntityManager 时创建一个新的临时键。所以试试这个:

    entityManager.detachEntity(entity);
    entityManager.attachEntity(entity, breeze.EntityState.Added);
    

    这应该会导致生成一个新的临时密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多