查询属性被修改的版本,如果 属性 被修改则 select 一个标志
Query revisions where properties were modified and select a flag if property was modified
我有以下class
public class Product
{
public virtual int Id { get; set; }
public virtual double Price { get; set; }
public virtual string Description { get; set; }
}
审计 table 看起来像这样
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();
到目前为止这有效并且 returns 和 IEnumerable<Product, DefaultRevisionEntity>
。
我得到所有修订,其中 属性 Description
、属性 Price
或两者都发生了变化。包含RevisionId
和RevisionDate
的信息。
但我还想查看每次修订更改了哪些属性,因为我想将其显示给用户。所以基本上我想在结果中有 HasChanged
标志。这可能吗?
不,目前不支持。
欢迎就此添加 JIRA ticket。
我有以下class
public class Product
{
public virtual int Id { get; set; }
public virtual double Price { get; set; }
public virtual string Description { get; set; }
}
审计 table 看起来像这样
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();
到目前为止这有效并且 returns 和 IEnumerable<Product, DefaultRevisionEntity>
。
我得到所有修订,其中 属性 Description
、属性 Price
或两者都发生了变化。包含RevisionId
和RevisionDate
的信息。
但我还想查看每次修订更改了哪些属性,因为我想将其显示给用户。所以基本上我想在结果中有 HasChanged
标志。这可能吗?
不,目前不支持。
欢迎就此添加 JIRA ticket。