Я пытался сделать ENVERS (Audit and Logging Tool для NHibernate) работать со стратегией ValidityAuditStrategy, но я не был успешным.ENVERS: Конфигурирование ValidityAuditStrategy с использованием свободной конфигурации
Мои NHibernate (беглые, используя Envers метод расширения) выглядит следующим образом:
var fluentConfiguration = Fluently.Configure()
.Database(msSqlConfiguration)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<MetaObject>())
.Mappings(m =>
m.FluentMappings.Conventions.AddFromAssemblyOf<MetaObject>())
.ExposeConfiguration(cfg =>
{
cfg.EventListeners.PreInsertEventListeners =
new IPreInsertEventListener[] { new SimpleAuditEventListener() };
cfg.EventListeners.PreUpdateEventListeners =
new IPreUpdateEventListener[] { new SimpleAuditEventListener() };
// ENVERS
cfg.IntegrateWithEnvers(GetEnversConfiguration()); // this is ok
// ENVERS Strategy
//cfg.SetProperty("nhibernate.envers.audit_strategy ", typeof(ValidityAuditStrategy).AssemblyQualifiedName); // does not work :-(
cfg.SetProperty("nhibernate.envers.audit_strategy ", "NHibernate.Envers.Strategy.ValidityAuditStrategy"); // does not work :-(
cfg.SetEnversProperty(ConfigurationKey.AuditStrategy, typeof(ValidityAuditStrategy)); // does not work :-(
}
).ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true));
У меня есть разные способы настройки стратегии аудита, но стратегия по умолчанию всегда используется. При использовании стратегии достоверности создаваемые таблицы аудита должны иметь дополнительные столбцы «REVEND». Однако это не тот случай, и я немного потерял то, что я должен попробовать дальше.
Является ли моя конфигурация неправильной? Или невозможно создать таблицы sql, созданные NHibernate (я делаю это с последней строкой конфигурации).
Любая помощь приветствуется. Спасибо
Спасибо, это была причина. Так просто :-) –