代码之家  ›  专栏  ›  技术社区  ›  Eric

拒绝更改不会从父级中删除实体

  •  1
  • Eric  · 技术社区  · 13 年前

    当我创建一个新实体并设置其导航属性,然后拒绝更改时,父实体会保留一个空白实体。在拒绝更改之前,是否需要明确地从父实体中删除新实体?我没有明确地将其添加到父实体中,我只是设置了新实体的父id。

    1 回复  |  直到 13 年前
        1
  •  1
  •   Jay Traband    13 年前

    拒绝对新实体的更改只会丢弃该实体,使其entityState“已分离”。在这种情况下,任何依附于父母的孩子都会被困,即他们没有父母。

    换句话说,Breeze不会打电话 拒绝更改 由于拒绝而对任何子项进行更改对父项进行更改。这是经过深思熟虑的。

    所以你最好打电话 拒绝更改 对孩子们也是如此。如果它们本身是新的实体,它们也将变得分离,否则它们的父实体将恢复到以前的父实体。

    请注意,可以使用EntityManager.getEntities方法返回指定entityTypes和entityStates的所有实体。这对于确定要“回滚”的实体非常有用。

    请参阅 Entity Manager getEntities method