我有以下课程
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
我得到了 property 、 propertyPrice
或两者都发生变化的所有修订。RevisionId
和的信息RevisionDate
包括在内。
但我也想查看每个版本的哪些属性发生了变化,因为我想向用户显示它。所以基本上我想HasChanged
在结果中有标志。这可能吗?