在不将链接属性设置为 null 的情况下将 splice 与 Breeze 结合使用

Using splice with Breeze without setting linked properties to null

对于一些重新排序的代码,我在 Breeze 实体数组上调用了 splice。通常这工作正常,但在从数组中删除使用 splice 的实体时,其导航属性设置为 null。在不同位置将相同的实体添加回相同的数组后,导航 属性 似乎恢复了,但 entityState 已经更改为已修改。

负责的代码好像是this call

有没有办法在不更改实体状态的情况下将实体数组中的实体移动到不同的位置?

GitHub issue 中的回复:解决方法是使用临时标准数组而不是可观察数组,在临时数组中使用 splice 处理数组并将它们写回可观察数组。