Я надеялся, что будет простой ответ на этот вопрос ....
У меня есть глобальный фильтр, предназначенный для предотвращения мягкого удаления в базе данных, он отлично работает в остальной части моей системы.Однако мы используем унаследованную базу данных с существующей таблицей " UserBase ", любые новые необходимые нам свойства мы добавили в таблицу " User " и отобразили наш класс User для извлечения данных из 2таблицы с использованием сопоставления "join" - таким образом мы не изменяем существующую таблицу " UserBase ".
Опять же, это работает нормально, пока мы не попытаемся применить фильтр мягкого удаления к классу- поскольку сгенерированный SQL применяет фильтр к таблице « BaseUser », в которой нет соответствующего столбца.
<class name="User" table="UserBase">
<id name="Id" column="userid" type="Int32" unsaved-value="-1">
<generator class="native">
<param name="sequence"></param>
</generator>
</id>
<property name="Email" column="UserEmail" type="String" length="100" />
.........
.........
<join table="User" optional="false">
<key column="UserID" />
<property name="TimeZone" column="timezone" type="Int32" />
.........
.........
<property name="IsDeleted" column="IsDeleted" type="Boolean" />
</join>
<filter name="AvoidLogicalDeleted" condition="IsDeleted = 0" />
</class>
Можно ли как-нибудь применить фильтр к«присоединенная» таблица, а не таблица классов?
Я также пытался указать «подвыбор» в отображении «соединение» с предложением where, игнорирующим мягкое удаление, но, похоже, оно игнорируется!?
Точка в правильном направлении будет принята с благодарностью ....