问题标签 [nhibernate-envers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

c# - 是否可以将 Linq-to-SQL 与 nhibernate 环境一起使用?

有没有办法使用带有 nhibernate envers 的 Linq-to-SQL 来查询修订,而不必使用 envers 审计表达式?

我想避免使用这样的东西,它需要硬编码的字符串属性名称:

reader.CreateQuery() .ForEntitiesAtRevision(1) .Add(AuditEntity.Property("FirstName").Eq("bob")) .Results();

0 投票
1 回答
101 浏览

c# - 使用自定义 SQL 命令时审计实体(批量删除)

我使用 NHibernate 和 Envers 访问我的 bdd 并审核我的实体。问题是当我使用自定义 SQL 命令(删除大量条目)时,未审核实体。

有没有办法手动触发对一堆条目的审核?

谢谢你的时间,

0 投票
1 回答
362 浏览

c# - NHibernate Envers - 同一类型的多对多关系出错

我对 NHibernate Envers 完全陌生,我在实体映射多对多关系中添加了新字段。

并且 Envers 配置中的这一行不断抛出异常:

消息“无法将 'NHibernate.Mapping.Formula' 转换为 'NHibernate.Mapping.Column'。” 和堆栈跟踪的顶部:在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() (...) 中的“ w NHibernate.Envers.Tools.MappingTools.b__0(ISelectable f)

我试图通过添加禁用此属性的审核,[NotAudited][Audited(TargetAuditMode = RelationTargetAuditMode.NotAudited)]它没有帮助。

它可以在没有 Envers 的情况下工作(禁用 ConfigureEnvers 方法)。

任何帮助/想法表示赞赏,谢谢!

0 投票
1 回答
395 浏览

nhibernate-envers - Envers 与 Nhibernate

我正在使用 Envers 来审核我的一些数据库表。审核工作正常,我可以在相应表中使用我的自定义前缀等查看数据库中的数据。我无法查询任何数据,因为我总是收到以下 QueryException:

无法解析属性:originalId of:NaturalPerson [select e__,r__ from NaturalPerson e__,ExtendedRevisionEntity r__ where e__.originalId.RevisionID.id = r__.id order by e__.originalId.RevisionID.id asc]

这是查询代码:

NaturalPerson 的映射

使用 fluent 进行 Envers 配置:

0 投票
1 回答
585 浏览

c# - Envers NHibernate - 在查询中创建别名

有没有办法用 Envers NHibernate 创建一个别名,类似于我们可以用老式 NHibernate 表达式做的那些?

我希望能够做类似的事情:

经典的 NHibernate 表达式如下所示:

0 投票
1 回答
306 浏览

nhibernate - NHibernate Envers IntegrateWithEnvers 错误

接收未找到扩展方法

我正在使用 NHibernate Envers 2、NHibernate 4 和 FluentNHibernate 1.4 和 asp.net 4.5。

我的配置是

我错过了什么吗

0 投票
2 回答
1497 浏览

hibernate-envers - 添加 OR 条件进行查询

我想知道如何OR向 Envers 标准 api 添加条件:

0 投票
1 回答
125 浏览

c# - 跟踪修订的属性名称

我目前正在尝试在 MVC 应用程序中实现修订历史屏幕。我需要能够使用 Envers 检索每个修订版中已更改的字段名称。所以我在这里遵循指示:http: //envers.bitbucket.org/#envers-tracking-modified-entities-revchanges

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

如您所见,我从 DefaultTrackingModifiedEntitiesRevisionEntity 继承,以确保该类具有保存修改实体名称的属性。

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

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

我从来没有看到这个表被创建。我尝试自己创建一个这样的表以及一个相关的类并连接映射,但我不知道 Envers 如何知道在没有我以某种方式配置它的情况下将数据放入该表中。我只是得到一个异常,当在新类型上调用 get 方法时,该对象与目标类型不同。

我怎样才能让它工作?

0 投票
0 回答
53 浏览

.net - 将存储信息反转为空值以不更新属性

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

我的实体基类如下所示:

我流利的映射:

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

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

有什么方法可以配置逆向不丢失这些数据?

0 投票
1 回答
355 浏览

c# - NHibernate Envers - 使用 Guid 作为 Id 而不是 Int

我见过的所有示例都NHibernate.Envers使用整数作为对象 ID。我想用Guid's 代替。这可能吗?

我问是因为我在尝试保存REV数据时看到异常:

我的修订数据对象的 ID 为 0。