我正在尝试使用OnFlushDirty
对象的Castle.ActiveRecord
方法来实现对更改的一般审核:
protected override bool OnFlushDirty(object id,
IDictionary previousState,
IDictionary currentState,
NHibernate.Type.IType[] types
)
执行时,OnFlushDirty为Castle.ActiveRecord.Framework.DictionaryAdapter
和previousState
个参数传递currentState
。
不幸的是,DictionaryAdapter
不支持GetEnumerator()
方法,抛出NotSupportedException
。
DictionaryAdapter
传递给OnFlushDirty?和DictionaryAdapter
中的键/值对进行枚举,以便比较审核的先前和当前状态?答案 0 :(得分:2)
DictionaryAdapter
包含一个Key集合,可以正常枚举,然后应用Key来检索其值。
示例解决方案代码:
foreach (var entry in currentState.Keys)
{
Console.WriteLine(currentState[entry]);
}