我将 asp.net mvc 与 Durandal 模板一起使用。我的问题与集成在 Durandal中的Breeze的使用有关。我需要检测任何实体状态变化。我在 StackOverflow 上找到了一个答案,在这里讨论了这个问题:如何检测对实体的 EntityState 的更改?
建议的解决方案在大多数情况下都有效,我的意思是我们可以订阅entityChanged
它在以下情况下起作用:
- 现有实体被修改
- 已修改的现有实体被取消(rejectChanges)
- 保存现有实体 (saveChanges)
- 生成一个添加的实体
- 添加的实体被取消(rejectChanged)
在上述所有情况下,由于 SO 帖子中建议的解决方案,我们可以捕捉到事件。
但不是当我们创建一个新实体并且这个实体被保存时。这次没有在entityChanged
. 我希望当点击保存按钮时我能捕捉entityChanged
到实体的事件。对我来说奇怪的是,在保存实体之前处于Added
状态,而在保存实体之后处于Unchanged
状态,因此存在发生但未捕获的更改状态。
有人可以启发我吗?
谢谢。