ActiveRecordBase
同时包含OnSave
和OnUpdate
,但没有OnCreate
,为什么以及如何实施?我在IsUnsaved
中使用OnUpdate
来确定这是创建操作还是编辑操作。还有更好的办法吗?
答案 0 :(得分:0)
没有OnCreate
,因为ActiveRecord“事件”基于NHibernate的IInterceptor,而IInterceptor没有任何OnCreate
。
但是,OnSave
仅针对新的持久对象调用,而OnUpdate
仅针对更新调用,因此无需在任何位置检查IsUnsaved
。 Here's the test涵盖了这一点。