0

NHibernate Audit Inteceptor を使用して特定の値を監査しています - EmptyInteceptor から継承し、OnFlushDirty をオーバーライドしました

public override bool OnFlushDirty(object entity, object id, object[] currentState, object[] previousState, string[] propertyNames, IType[] types)
    {

ほとんどの場合、 currentState および previousState オブジェクトは私が期待するものです-しかし、私はコレクションをマップしましたが、機能しません-以前と現在の両方が同じコレクション値を示しています。

誰でも助けてもらえますか?

使用しているマッピングは次のとおりです...

    public SalesChannelMap()
    {
        Id(x => x.ID).GeneratedBy.Custom<StringTableHiLoGenerator>(a => a.AddParam(NHibernateConstants.MaxLo, Nexus3General.HiLoGeneratorMaxLoSize.ToString()));
        Version(x => x.Version);
        Map(x => x.Name).Unique();
        Map(x => x.Exclusive);
        Map(x => x.Active);
        Map(x => x.Visible);
        Map(x => x.VehicleType);
        Map(x => x.PriceAdjustment);
        Map(x => x.Deleted);
        Map(x => x.FactoryFlag);
        Map(x => x.Initials);
        HasMany(x => x.VehicleIDs).AsBag().Element("VehicleID", m => m.Type<string>()).Table("SalesChannelVehicleLinker"); 
    }
4

1 に答える 1

0

特にコレクションに関係するオーバーライドする他のイベントがあることが判明しました。

于 2010-09-03T09:18:00.933 に答える