我使用asp.net mvc和Durandal模板。我的问题与使用集成在Durandal中的 Breeze 有关。我需要检测任何实体状态更改。我在StackOverflow上找到了一个答案,在这里讨论了这个问题:How can I detect a change to an entity's EntityState?
建议的解决方案适用于大多数情况,我的意思是我们可以订阅entityChanged
它适用于:
当我们创建一个新实体并保存此实体时,在上述所有情况下,我们都可以通过SO帖子中的建议解决方案来捕捉事件。
但不是。这次entityChanged
没有触发任何事件。我希望当点击保存按钮时,我可以捕获实体的entityChanged
事件。对我来说很奇怪的是,在保存实体之前处于Added
状态并且保存后实体处于Unchanged
状态,因此存在发生但未捕获的更改状态。
有人可以启发我吗?
感谢。
答案 0 :(得分:0)
entityChanged仅由实体值的变化触发。当您添加新实体时,就像您说的那样,它处于添加状态。修改它时,会进行修改。您可以订阅entityChanged事件以跟踪实体状态发生变化的时间,如Ward在下面建议的那样。