У меня есть представление, объединяющее 3 таблицы в цепочку, которую мне нужно заменить отображением NHibernate без каких-либо изменений в базе данных. Это возможно?
Это упрощенный пример моего взгляда:
SELECT tblTable1.*,tblTable2.*,tblTable3.MyProperty FROM tblTable1
OUTER JOIN
tblTable2 ON tblTable1.Table1Key = tblTable2.Table1Key
OUTER JOIN
tblTable3 ON tblTable2.Table2Key = tblTable3.Table2Key
поэтому мы выбираем tblTable1 и присоединяемся к tblTable2, это работает для меня в NHibernate. Моя проблема tblTable3. Как мне присоединить его к свойству из объединенной таблицы tblTable2?
Когда я делаю сопоставление таким образом, я получаю запрос, пытающийся присоединиться к tblTable3 на Table1Key по какой-то причине.
<class name="MyClass" table="tblTable1">
<id name="Table1Key">
<generator class="identity"/>
</id>
<property name="..." />
<join table="tblTable2">
<key column="Table1Key" />
<property name="..." />
</join>
<join table="tblTable3">
<key column="Table2Key???" />
<property name="..." />
</join>
</class>