J'ai ce problème, j'utilise Castle ActiveRecord et quand je mets à jour je vérifie les changements dans l'objet dans l'événement OnFlushDirty. Cependant, lorsque j'accède au previouState ["MyProperty"], il devient null et je ne peux pas obtenir l'ancienne valeur.Problème d'accès à previousState dans l'événement OnFlushDirty() de Castle ActiveRecord
Savez-vous pourquoi?
c'est le code;
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
...