Ошибка IntegrateWithEnvers

Я пытаюсь начать использовать nhibernate-envers и, похоже, получаю сообщение об ошибке при попытке его настроить. Сейчас я пытаюсь настроить аудит только для одного объекта, чтобы сделать его несколько простым. Я получаю следующую ошибку:

An audited relation from Entities.Product.ProductUoms to a not audited entity Entities.ProductUom!

Я настроил свой одитинг так:

var enversConf = new FluentConfiguration();

enversConf.Audit<Product>();
          .ExcludeRelationData("productUoms")
          .ExcludeRelationData(x => x.ProductUoms);

// instanceConfiguration.Properties.Add("nhibernate.envers.audit_table_prefix", string.Empty); // default
nhibernateConfiguration.Properties.Add("nhibernate.envers.audit_table_suffix", "_audit"); // default _AUD
nhibernateConfiguration.Properties.Add("nhibernate.envers.revision_field_name", "revision"); // default
nhibernateConfiguration.Properties.Add("nhibernate.envers.revision_type_field_name", "revision_type"); // default

nhibernateConfiguration.IntegrateWithEnvers(metaDataProvider: enversConf);

В моей сущности продукта у меня есть следующие свойства:

private IList<ProductUom> productUoms;
public virtual IEnumerable<ProductUom> ProductUoms { get { return this.productUoms.Select(x => x); } }

Они отображаются в Fluent NHibernate следующим образом:

HasMany(x => x.ProductUoms)
            .KeyColumn("PROD_ID")
            .Inverse()
            .Access.CamelCaseField()
            .Cascade.AllDeleteOrphan()
            .Fetch.Select();

Кажется, что следует избегать ошибки, потому что я явно пытаюсь исключить одитинг этих отношений. Не совсем уверен, что здесь происходит не так.

0 ответов

Другие вопросы по тегам