我正在使用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进行映射)
我的envers配置需要看起来像什么?
我的映射需要看起来像什么?
答案 0 :(得分:1)
Envers为您处理审核,您不必在域模型中定义自己的审核类型。
定义(并将其映射为正常)您的实体
public class Book
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual string Author { get; set; }
}
如果您想对图书修改进行审核,请配置像这样的Envers
var enversCfg = new FluentConfiguration();
enversCfg.Audit<Book>();
yourNhCoreConfiguration.IntegrateWithEnvers(enversCfg);