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

时间:2013-04-04 21:57:01

标签: breeze

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

1 个答案:

答案 0 :(得分:1)

拒绝对新实体的更改只会丢弃该实体 - 使其entityState'分离'。在这种情况下,任何附属于父母的子女都会被搁浅,即他们没有父母。

换句话说,由于父母的拒绝改变,Breeze不会对任何孩子调用 rejectChanges 。这是故意的。

因此,最好的办法是给孩子们打电话 rejectChanges 。如果他们本身就是新实体,他们也会变得脱节,否则他们的父母将会回到他们以前的父母那个实体。

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

请参阅Entity Manager getEntities method