2

私は次のクラスを持っています

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、結果にフラグを付けたいと思います。これは可能ですか?

4

1 に答える 1