Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 跟踪修订的属性名称_C#_Asp.net Mvc_Nhibernate_Nhibernate Envers - Fatal编程技术网

C# 跟踪修订的属性名称

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

我目前正在尝试在MVC应用程序中实现修订历史记录屏幕。我需要能够检索在每个版本中使用Envers更改的字段的名称。因此,我在这里遵循以下指示:

我使用第二个选项,因为我们有一个自定义修订实体。看起来是这样的:

[RevisionEntity(typeof(MyRevisionListener))]
public class RevisionEntity : DefaultTrackingModifiedEntitiesRevisionEntity
{
    public virtual Person User { get; set; }
}
正如您所看到的,我从DefaultTrackingModifiedEntitysRevisionEntity继承,以确保类具有保存修改过的实体名称的属性

根据文档,这应创建一个名为RevChanges的表,在该表中参考修订表存储此信息:

Envers提供了一种简单的机制来创建REVCHANGES表,该表 存储修改后的持久对象的实体名称。单记录 封装修订标识符(REVINFO表的外键) 和一个字符串值

我从来没有见过这个表被创建。我试着自己创建这样一个表以及一个相关的类,并连接映射,但我不知道如果不进行配置,Envers如何将数据放入该表中。我只是得到一个异常,当对新类型调用get方法时,该对象与目标类型不同


我怎样才能让它工作

如果使用自定义修订图元,则需要像使用普通图元一样对此进行映射