C# 跟踪修订的属性名称
我目前正在尝试在MVC应用程序中实现修订历史记录屏幕。我需要能够检索在每个版本中使用Envers更改的字段的名称。因此,我在这里遵循以下指示: 我使用第二个选项,因为我们有一个自定义修订实体。看起来是这样的:C# 跟踪修订的属性名称,c#,asp.net-mvc,nhibernate,nhibernate-envers,C#,Asp.net Mvc,Nhibernate,Nhibernate Envers,我目前正在尝试在MVC应用程序中实现修订历史记录屏幕。我需要能够检索在每个版本中使用Envers更改的字段的名称。因此,我在这里遵循以下指示: 我使用第二个选项,因为我们有一个自定义修订实体。看起来是这样的: [RevisionEntity(typeof(MyRevisionListener))] public class RevisionEntity : DefaultTrackingModifiedEntitiesRevisionEntity { public virtual Per
[RevisionEntity(typeof(MyRevisionListener))]
public class RevisionEntity : DefaultTrackingModifiedEntitiesRevisionEntity
{
public virtual Person User { get; set; }
}
正如您所看到的,我从DefaultTrackingModifiedEntitysRevisionEntity继承,以确保类具有保存修改过的实体名称的属性
根据文档,这应创建一个名为RevChanges的表,在该表中参考修订表存储此信息:
Envers提供了一种简单的机制来创建REVCHANGES表,该表
存储修改后的持久对象的实体名称。单记录
封装修订标识符(REVINFO表的外键)
和一个字符串值
我从来没有见过这个表被创建。我试着自己创建这样一个表以及一个相关的类,并连接映射,但我不知道如果不进行配置,Envers如何将数据放入该表中。我只是得到一个异常,当对新类型调用get方法时,该对象与目标类型不同
我怎样才能让它工作 如果使用自定义修订图元,则需要像使用普通图元一样对此进行映射