У меня есть следующий классизменения запроса, где свойства были изменены и выберите флаг, если свойство было изменено
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
. Это возможно?