У меня есть модель, которая выглядит как:NHibernate Envers модифицированных столбцов не правильно отслеживать абсорбцию из коллекции
class Case
{
public virtual ISet<CaseToCaseTag> CaseTags { get; set; }
public virtual DateTime LastModified { get; set; }
}
class CaseToCaseTag
{
public virtual Case Left { get; set; }
}
При ревизии этих отношений с Envers, я бег в проблемы с модифицированным отслеживанием имущества при удалении значений из набора.
Если только, что я изменить в прецедентном лице при удалении значения из множества «набор-удаление», то Envers правильно отслеживает, что CaseTags
свойства изменяется в процессе пересмотра. Однако, если я также изменил любое другое свойство, например свойство LastModified
, я не правильно установил флаг CaseTags_MOD.
Я отследил это (я думаю) до метода AuditProcess.AddWorkUnit
. Когда я удаляю только из набора, добавляется только один WorkUnit
(a CollectionChangeWorkUnit
), но когда я также меняю другое свойство, то добавляется еще WorkUnit
(a ModWorkUnit
).
Что-то похожее на то, что CollectionChangeWorkUnit
отбрасывается в пользу ModWorkUnit
, что, в свою очередь, не подбирает изменения в коллекции.
Является ли то, что я пытаюсь не поддерживать, или есть способ обойти его?
Отлично, я только разворачиваю репо. В течение дня будет выставлен запрос на вытягивание. – aeliusd
Ваш запрос на перенос был объединен, исправлено https://nhibernate.jira.com/projects/NHE/issues/NHE-146 – Roger