0
这看起来像错误,但我不确定。在同一数据上下文/跟踪更改会话中,ComplextType.rejectChanges设置错误的原始值?
- 创建实体(具有复杂类型)。
- 对创建的实体的复杂类型的字符串属性进行更改。 “测试”
- 保存更改(接受所有更改)。
- 从db/remote源重新加载同一实体。
- 对复杂类型的相同字符串属性进行更改。 “testED”
- Call manager.RevertChanges()..
- >复杂类型的属性应该已经回复到#3(“测试”)状态。相反,它会回到“”。
我检查了微风代码,发现在处理revertChangesCore方法时,Complext类型的原始值确实显示“”而不是“test”。
无论出于何种原因,我砍死修复这个方式是由之前步骤#5调用下面的代码重新设置复杂类型的originalValues列表:
myEntity().ComplexType1().complexAspect.originalValues = [];
任何想法可能是什么导致原始值错误?看起来好像这种情况发生时,特别是当你创建一个新的实体,而不是从数据库中加载现有的实体时。
这是breeze.client nuget包v1.4.4。重新设置原始值的事实意味着,也许我应该在步骤#3之后显式调用acceptChanges,或者在重新加载之后显式调用acceptChanges? – diegohb
不,你不需要做,acceptChanges在任何保存之后被有效地调用。你可以试试Breeze 1.4.5,看看是否解决了这个问题? –
我知道这是在任何保存之后调用...希望有一个机会,也许微风中的错误是围绕该部分 - 保存后调用acceptChanges ...似乎是一个更容易修复的错误。 一旦我有一些时间来更新到1.4.5 ..我会更新这张票。 – diegohb