1

在查询实体时,是否有一种简单的方法可以加入实体的最新修订信息?

另一种方法是将属性(使用 Fluent NHibernate)映射到实体,例如entity.LatestRevisionDateTime属性。

这是必需的,因为我们有一些屏幕显示最新的修改日期时间和修改实体的用户。我们还需要至少一个查询来返回自特定日期以来已修改的实体。如果我们不需要加入内存(更少的数据库往返,更少的内存),这将更容易和更好的性能。

我们正在使用:

  • NHibernate 4.0.3.400
  • FluentNHibernate 2.0.1.0
  • 休眠.Envers 2.0.0
4

1 回答 1

0

要在一个语句中获取实体和修订信息,您可以使用

session.Auditer().CreateQuery()
   .ForHistoryOf<YourEntityType, YourRevisionType>()
   .Add([some filters])
   .Results()

要将最新/当前实体与修订对象一起获取,我认为这是可行的(AFK 所以无法验证)

session.Auditer().CreateQuery()
   .ForHistoryOf<YourEntityType, YourRevisionType>()
   .Add(AuditEntity.RevisionNumber().Maximize().ComputeAggregationInInstanceContext())
   .Results()
于 2015-03-23T19:28:16.693 回答