0

私は次のenvers構成を持っています:

        hibernateCfg.SetEnversProperty(ConfigurationKey.DefaultSchema, "audit");
        hibernateCfg.SetEnversProperty(ConfigurationKey.RevisionFieldName, "Rev");
        hibernateCfg.SetEnversProperty(ConfigurationKey.RevisionTypeFieldName, "RevType");
        hibernateCfg.SetEnversProperty(ConfigurationKey.AuditTableSuffix, "_Audit");

        var cfg = new FluentConfiguration();
        cfg.SetRevisionEntity<RevisionInfo>(x => x.Id, x => x.RevisionTimestamp, new RevisionListener());

        cfg.Audit<User>().Exclude(x=>x.Account).Exclude(x=>x.Agentie).Exclude(x=>x.Location).Exclude(x=>x.Produse).Exclude(x=>x.Roles);
        //cfg.Audit<Account>().ExcludeRelationData(x => x.Users);
        //cfg.Audit<Document>();

        hibernateCfg.IntegrateWithEnvers(new EnhancedAuditEventListener(), cfg);

監査テーブルは作成されず、データは保存されません。自分でテーブルを作成してみましたaudit.User_Auditが、何も変わりません。nhibernateenvers1.30とnhibernate3.3.1があります。

これを機能させるために別の構成が必要ですか?

4

1 に答える 1

0

私はそれを解決しました。問題は、ディスクリミネーターで使用したUser(BrokerUser:Userなど)から派生したクラスがいくつかあることでした。追加した後:

cfg.Audit<BrokerUser>()

問題は解決しました。

于 2013-01-16T09:05:07.940 に答える