【问题标题】:Breeze - removing element from cacheBreeze - 从缓存中删除元素
【发布时间】:2014-02-05 19:27:59
【问题描述】:

我将本地实体保存在微风缓存中,如何在不访问服务器的情况下从缓存中删除它们? 在它声明的文档中

删除实体 您可以通过将其 EntityState 更改为“已删除”来删除实体,如下所示:

1 someEntity.entityAspect.setDeleted(); // 标记删除 setDeleted 不会在本地销毁对象,也不会从数据库中删除实体。实体只是以其新的“已删除”状态保留在缓存中……就像更改和添加的实体一样。成功的保存确实会从数据库中删除实体并将其从缓存中删除。

【问题讨论】:

    标签: breeze


    【解决方案1】:

    您可以通过调用管理器的 detachEntity 方法将实体从实体管理器中分离出来:

    manager.detachEntity(entity);
    

    分离的实体最终会被垃圾回收。

    参考Breeze-Inside Entity

    【讨论】:

    • 是否有任何指南可以撤消每个组件/屏幕的更改?面临一个问题,即一个 Angular 组件执行.createEntity(),但随后用户转到另一个组件(没有刷新页面,因此仍在跟踪createEntity())。是否建议将rejectChanges() 放在每个组件的启动和销毁时,以避免先前已消失的组件的未决更改?
    【解决方案2】:

    你可以 entity.setDeleted(); 然后打电话 saveChanges 方法。 如果您想将其保存在数据库中。 如果不想去服务器 manager.detachEntity(nameofYourEntity);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2018-01-17
      相关资源
      最近更新 更多