1

nhibernate enversを使用してデータを監査し、以前のバージョンを保存しています。

私がやりたいのは、親エンティティに対して以前のバージョンを保存することです。
このようなもの:

public abstract class BookBase
{
    public virtual int ID { get; set; }
    public virtual string Name { get; set; }
    public virtual string Author { get; set; }
}

public class Book : BookBase
{
    public virtual ICollection<BookRevision> PreviousVersions { get; set; }
}

public class BookRevision : BookBase
{
    public virtual int VersionNumber { get; set; }
    public virtual DateTime VersionTimeStamp { get; set; }
}

envers nhibernate (マッピングに流暢な nHibernate を使用) でそれは可能
ですか?
私のマッピングはどのように見える必要がありますか?

4

1 に答える 1

1

Envers が監査を処理します。ドメイン モデルで独自の監査タイプを定義する必要はありません。

エンティティを定義 (および通常どおりマッピング)

public class Book
{
    public virtual int ID { get; set; }
    public virtual string Name { get; set; }
    public virtual string Author { get; set; }
}

Book の変更を監査したい場合は、Envers を次のように設定します。

var enversCfg = new FluentConfiguration();
enversCfg.Audit<Book>();
yourNhCoreConfiguration.IntegrateWithEnvers(enversCfg);
于 2012-11-14T14:13:31.097 に答える