访问Castle ActiveRecord的OnFlushDirty()事件中的previousState时出现问题

访问Castle ActiveRecord的OnFlushDirty()事件中的previousState时出现问题,activerecord,castle,Activerecord,Castle,我有这个问题,我正在使用Castle ActiveRecord,当我更新时,我会在OnFlushDirty事件中验证对象中的更改 但是,当我访问PreviousState[“MyProperty”]时,它变为null,并且我无法获取旧值 你知道为什么吗 这就是代码 protected override bool OnFlushDirty(object id, System.Collections.IDictionary previousState, System.Collections.

我有这个问题,我正在使用Castle ActiveRecord,当我更新时,我会在OnFlushDirty事件中验证对象中的更改

但是,当我访问PreviousState[“MyProperty”]时,它变为null,并且我无法获取旧值

你知道为什么吗

这就是代码

    protected override bool OnFlushDirty(object id, System.Collections.IDictionary previousState, System.Collections.IDictionary currentState, NHibernate.Type.IType[] types)
    {
        StringBuilder errors = new StringBuilder();

        if (this._bankCode <= 0)
            errors.Append("Bank code is invalid" + Environment.NewLine);

        if (string.IsNullOrEmpty(this._name) || this._name.Trim().Length == 0)
            errors.Append("Name is invalid" + Environment.NewLine);

        //previousState["EnterpriseCode"] is always null
        if (previousState["EnterpriseCode"] != currentState["EnterpriseCode"])
        {
            if (this._enterpriseCode == 0)
                errors.Append("Enterprise code is invalid" + Environment.NewLine);
            else 

         ...
protectedoverride bool OnFlushDirty(对象id、System.Collections.IDictionary previousState、System.Collections.IDictionary currentState、NHibernate.Type.IType[]类型)
{
StringBuilder错误=新建StringBuilder();

如果(this._bankCode我终于做到了,那么在hibernate中,您必须使用merge()使hibernate“加载”分离对象的上一个IUOS数据,在Castle中,等效的是SaveCopy()方法。

我终于做到了,在hibernate中,您必须使用merge()使hibernate“加载”分离对象的previuos数据,在Castle中等效的是SaveCopy()方法