2013-04-04 44 views
1

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

回答

1

拒绝新实体上的更改只会丢弃实体 - 使其实体状态“分离”。在这种情况下,任何与父母有关的孩子都会受到困扰,即他们没有父母。

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

所以你最好的选择是致电rejectChanges对孩子们。如果他们自己是新的实体,他们也会变得分离,否则他们的父母会回复到以前的任何一个实体。

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

查看Entity Manager getEntities method

+0

谢谢,对不起,花了这么长的时间回复。你的回答非常有帮助。 – Eric 2013-04-10 16:30:59