Я использую Envers для проверки некоторых из моих таблиц DB. Ревизионная WOKING хорошо, я могу видеть данные в БД в соответствующих таблицах с моим обычаем приставкой и т.д. Я не могу запросить любые данные becouse я получаю всегда следующий QueryException:Envers with Nhibernate
не может разрешить свойство: originalId из: NaturalPerson [выберите e__, r__ из NaturalPerson e__, ExtendedRevisionEntity r__, где e__.originalId.RevisionID.id = r__.id упорядочить по возрастанию e__.originalId.RevisionID.id]
Это код запроса:
AuditReaderFactory.Get(session).CreateQuery().ForHistoryOf<NaturalPerson, ExtendedRevisionEntity>().Results();
Составы для природного населения
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="Domain" namespace="Domain" xmlns="urn:nhibernate-mapping-2.2">
<joined-subclass name="NaturalPerson" schema="MySchema" table="NaturalPersons">
<key column="PersonID" />
<property name="Name" type="AnsiString"/>
</joined-subclass>
</hibernate-mapping>
Envers конфигурации с использованием свободно:
configuration.SetEnversProperty(ConfigurationKey.AuditTableSuffix, " ");
configuration.SetEnversProperty(ConfigurationKey.DefaultSchema, "aud");
configuration.SetEnversProperty(ConfigurationKey.StoreDataAtDelete, true);
configuration.SetEnversProperty(ConfigurationKey.RevisionFieldName, "RevisionID");
configuration.SetEnversProperty(ConfigurationKey.RevisionTypeFieldName, "RevisionTypeID");
enversConf.Audit<NaturalPerson>();
Конфигурации и настройки для NaturalPerson, пожалуйста. – Roger
Я добавил эту информацию в ответ – brunobv14
Часть из «NaturalPerson» выглядит немного подозрительно. Можете ли вы посмотреть на сгенерированный sql и проверить, что на самом деле пытается прочитать из таблицы аудита? Установка AuditTableSuffix в пустые/пробелы _might_ будет проблемой. – Roger