Ошибка 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();
Кажется, что следует избегать ошибки, потому что я явно пытаюсь исключить одитинг этих отношений. Не совсем уверен, что здесь происходит не так.