Не удалось получить NHibernate для генерации правильного запроса. Он продолжает использовать первичные ключи двух таблиц, к которым я присоединяюсь для отношения один-к-одному, и я не могу понять, как указать внешний ключ в одной из таблиц.
tableA tableB
{ aID, { bID,
bID, z,
c, y,
d } x }
, поэтому tableA должен присоединиться к tableB, используя tableA.bID = tableB.bID. Как я могу указать это в сопоставлении для таблицы A? Я использую класс tableA для извлечения строки из tableA и строки из tableB, так как это реальное отношение один к одному.
NHibernate генерирует sql для объединения таблиц, используя tableA.aID = tableB.bID, что неверно.
Это не работает:
<class name="tableA" table="tableA">
<id name="aID" column="aID" />
<property name="bID" column="bID" />
<property name="c" column="c" />
<property name="d" column="d" />
<one-to-one name="otherThing" class="tableB" foreign-key="bID" />
</class>
<class name="tableB" table="tableB">
<id name="bID" column="bID" />
<property name="z" column="z" />
<property name="y" column="y" />
<property name="x" column="x" />
</class>