Обновление существующей актуальной версии версионируемой сущности

Существует ли механизм обхода/отключения перехватчиков изменения версионируемых сущностей? Необходимо изменить актуальную версию, не создавая новой.
Тип сущности приходит в функцию в качестве параметра, поэтому используются не generic версии методов.
Пытался сделать так:

var changedEntityVersioningManagement = dataStore.GetAll(mainEntityTypeManagement).Cast();
var allVersions = await changedEntityVersioningManagement.Where(x => x.VersionMetaId == changeRecord.ChangedEntityId).ToListAsync();
// В результате - эксепшн System.NotSupportedException: ‘query ( query ( select_from ( from ( range Bars.Aispd.FpResultDistributionVersioningManagement x001 ) ) ( select x001 ) ) ( where ( and ( == ‘/requestFromInterceptedDataStore/’ ‘/requestFromInterceptedDataStore/’ ) ( == ( . x VersionMetaId ) ( : p1 ) ) ) ) )’

И даже так:

var verIdColumn = GetQuotedColumnName(dialect, entPc.IdentifierProperty.ColumnIterator.Single().Text);
property.SetValue(changedEntity, newValue);

                var column = entPc.PropertyIterator.FirstOrDefault(x => x.Name == property.Name);
                if (column != null)
                {
                   var columnName = ((NHibernate.Mapping.Column)column.ColumnIterator.First()).Name;

                    if (mainEntityTypeManagement != null)
                    {
                        StringBuilder sqlBuilder = new StringBuilder();
                        sqlBuilder.AppendFormat(@"
                                             update public.{0}
                                                 set {2} = {3}
                                                     where {4} = {1} and version_actual_period_end > now()                                             
                                                ", tableName, changeRecord.ChangedEntityId, columnName, newValue, verIdColumn);
                        var deleteResult = _sessionProvider
                            .GetCurrentSession()
                            .CreateSQLQuery(sqlBuilder.ToString())
                            .ExecuteUpdate();
                    }
                }

// В результате тоже ошибка

Пытался даже через CreateSQLQuery скриптом убивать новую созданную версию и восстанавливать старую, зная что она точно будет, но адекватного результата не добился.

Если уж начали скриптами менять данные версии, можно перед выполнением скрипта отключить триггеры, а после выполнения - включить их. Тогда никаких событий на уровне БД обработано не будет. Но это вы делаете на свой страх и риск )))

Проблема не в триггерах. Скриптами менять данные начали от безысходности, причем, как я написал, этот способ не подошел (слишком много особенностей типов - например разделители в дробных числах заменять на точки при формировании SQL, определенный формат дат, ID записей, и прочее - это только то с чем столкнулся во время отладки).
Есть какой-нибудь, механизм, который позволяет выполнить задачу без таких изощрений? Типа using (ChangeSetRequestParam.DisableNhQueryTransformation()) , но только для версионируемых сущностей, чтобы не создавалась новая версия?

А если так?

private async Task TestUpdateFirstEntityVersion()
{
	var entityType = typeof(First);
	var versionServiceName = $"{entityType}_VersioningManagement";
	var versionService = Container.Resolve<IVersioningManagementService>(versionServiceName);

	if (versionService == null)
	{
		return;
	}

	var dataStore = Container.Resolve<IDataStore>();

	const int versionMetaId = 17;
	var lastVersionData = await versionService.GetVersion(versionMetaId, DateTime.Now, null, null);

	if (lastVersionData?.Data is FirstVersioningManagement lastVersionEntity)
	{
		lastVersionEntity.Name = "5";
		await dataStore.UpdateAsync(lastVersionEntity);
	}

	const int concreteId = 584;
	var concreteVersionData = await versionService.GetVersion(0, DateTime.Now, concreteId, null);

	if (concreteVersionData?.Data is FirstVersioningManagement concreteVersionEntity)
	{
		concreteVersionEntity.Name = "5";
		await dataStore.UpdateAsync(concreteVersionEntity);
	}
}

В ChangeMeta хранится тип не $"{entityType}_VersioningManagement, поэтому при поиске соответствия полей придется искать рефлексией, возможно по текстовому имени - иначе т.к. это фактически разные типы - поля однозначно определить не получится. Было бы удобно, если бы $"{entityType}_VersioningManagement" сущности были наследниками {entityType}, но в текущей реализации это не так.
Проблему решил физическим удалением последней записи и восстановлением предыдущей с помощью инлайн скрипта.