У меня есть следующий класс
public class Product
{
public virtual int Id { get; set; }
public virtual double Price { get; set; }
public virtual string Description { get; set; }
}
Таблица аудита выглядит так
CREATE TABLE Product_AUD (
Id integer not null,
REV integer not null,
Price float,
Price_MOD bit,
Description varchar(255),
Description_MOD bit,
REVTYPE tinyint not null,
primary key (id, REV)
);
Мой запрос выглядит так
var revisionEntityInfos =
Session.Auditer().CreateQuery()
.ForHistoryOf<Product, DefaultRevisionEntity>()
.Add(AuditEntity.Id().Eq(ProductId))
.Add(AuditEntity.Or(AuditEntity.Property("Description").HasChanged(),
AuditEntity.Property("Price").HasChanged()))
.Results();
Пока это работает и возвращает IEnumerable<Product, DefaultRevisionEntity>
. Я получаю все ревизии, в которых изменилось либо свойство Description
, либо свойство Price
, либо оба. Информация о RevisionId
и RevisionDate
включена.
Но я также хочу видеть, какие свойства изменились для каждой ревизии, так как я хочу показать это пользователю. Итак, в основном я хочу, чтобы в результате был флаг HasChanged
. Это возможно?