0

我有一个看起来像的模型:

class Case
{
    public virtual ISet<CaseToCaseTag> CaseTags { get; set; }
    public virtual DateTime LastModified { get; set; }
}

class CaseToCaseTag
{
    public virtual Case Left { get; set; }
}

在审核与 envers 的这种关系时,我在从集合中删除值时遇到了修改属性跟踪的问题。

如果从集合中删除值时我在 case-entity 中唯一更改的是“set-removal”,那么 envers 会正确跟踪该CaseTags属性在修订中被修改。但是,如果我还更改了任何其他属性,例如LastModified属性,我没有正确设置 CaseTags_MOD 标志。

我已经追踪到(我认为)这个AuditProcess.AddWorkUnit方法。当我只从集合中删除时,只WorkUnit添加了一个 (a CollectionChangeWorkUnit),但是当我还更改另一个属性时,另一个WorkUnit(a ModWorkUnit) 也会被添加。

然后似乎发生的CollectionChangeWorkUnit是 被丢弃以支持ModWorkUnit,而后者又不会获取对集合的更改。

是我试图不支持的东西,还是有办法解决它?

4

1 回答 1

1

听起来像一个错误。请创建具有最小映射的拉取请求以重现该问题。

于 2015-11-18T08:50:26.960 回答