将商店信息反转为空值以用于不更新属性

时间:2015-01-15 11:43:14

标签: .net fluent-nhibernate nhibernate-envers

我正在开发一个mvc应用程序,我正在使用流畅的nhibernate和enverse在db中存储信息并审核我的数据。

我的实体基类如下:

[Audited]
public class EntityBase : IEntity
{
    public virtual int ID { get; set; }
    public virtual string CreatedBy { get; set; }
    public virtual string ModifiedBy { get; set; }
    public virtual DateTime CreatedDate { get; set; }
    public virtual DateTime? ModifiedDate { get; set; }
    public virtual bool IsActive { get; set; }
}

我的流利映射:

internal class EntityMap<T> : ClassMap<T> where T:EntityBase
{
    public EntityMap(string tableName = null)
    {
        Id(x => x.ID).DefaultStrategy<T>(tableName);

        if (!string.IsNullOrEmpty(tableName))
            base.Table(tableName);

        Map(x => x.IsActive).Not.Nullable();
        Map(x => x.CreatedDate).Not.Nullable().Not.Update().CustomType("Timestamp");
        Map(x => x.CreatedBy).Not.Update();
        Map(x => x.ModifiedDate).CustomType("Timestamp");
        Map(x => x.ModifiedBy);
    }
}

当我将每个实体存储到db时,前插入操作正在运行,它为createdDate和createdBy设置值。

我在更新实体时遇到问题。 CreatedDate和CreatedBY不是更新字段,因此我不会将此信息存储在我的viewmodel中,因此在转换为模型/实体期间,a没有关于createdDate和createdBy的信息。在我的表中,我在编辑和实体库之后获得了所有信息,但在审计中,我收到了一个空行CratedDate和CreatedBy的新行。

有没有办法配置enverse不丢失这些数据?

0 个答案:

没有答案