在实体上调用Breeze setDetached()删除了getValidationErrors()

时间:2013-10-22 23:23:48

标签: entity-framework angularjs breeze

当实体被分离时,或者如果你创建一个实体并且你没有将它添加到管理器(因此它处于'分离'状态),实体上的验证数组是否会被破坏是一种预期的行为,它没有在您的模型上设置验证?这是有问题的,因为我基于所选或创建的实体动态创建具有角度和微风的表单,我需要这些验证

1 个答案:

答案 0 :(得分:2)

是的,这是正确的。分离的实体不会验证属性更改,因为它不知道这些更改。 EntityManager负责监视属性更改,并且分离的实体(根据定义)没有EntityManager。

事实上,分离实体会清除它碰巧遇到的任何验证错误。我不知道为什么我们选择这种行为(我确信有一个很好的理由)。我只能报告它是如此。

您可以通过调用detachedEntity.entityAspect.validateEntity();

强制验证分离的实体

这些行为显示在DocCode示例的 validationTests.js - “分离实体清除验证错误”。

现在有一个问题:为什么要创建并绑定到分离的实体?