gpt4 book ai didi

c# - 通过传递给 OnFlushDirty 的 DictionaryAdapter 进行枚举

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:54 28 4
gpt4 key购买 nike

我正在尝试使用 CaSTLe.ActiveRecord 对象的 OnFlushDirty 方法来实现通用的更改审计:

protected override bool OnFlushDirty(object id, 
IDictionary previousState,
IDictionary currentState,
NHibernate.Type.IType[] types
)

在执行时,OnFlushDirty 会为每个 previousStatecurrentState 参数传递一个 CaSTLe.ActiveRecord.Framework.DictionaryAdapter

不幸的是 DictionaryAdapter 不支持 GetEnumerator() 方法,抛出一个 NotSupportedException

  1. 我是否应该首先将 DictionaryAdapter 传递给 OnFlushDirty?和
  2. 假设我应该这样做,我如何枚举 DictionaryAdapter 中的键/值对,以便比较以前和当前的状态以进行审计?

最佳答案

DictionaryAdapter 包含一个 Key 集合,可以使用 Key 正常枚举,然后应用 Key 来检索其 Value。

示例解决方案代码:

foreach (var entry in currentState.Keys)
{
Console.WriteLine(currentState[entry]);
}

关于c# - 通过传递给 OnFlushDirty 的 DictionaryAdapter 进行枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6613088/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com