Nie można pobrać NHibernate w celu wygenerowania poprawnego zapytania. Używa kluczy podstawowych dwóch tabel, do których się przyłączyłem, w związku jeden-do-jednego, i nie mogę wymyślić, jak określić klucz obcy w jednej z tabel.NHibernate mapowanie jeden-do-jednego, klucze podstawowe
tableA tableB
{ aID, { bID,
bID, z,
c, y,
d } x }
, więc tabela A powinna dołączyć do tableB przy użyciu tableA.bID = tableB.bID. Jak mogę to określić w mapowaniu dla tableA? Korzystam z klasy tableA, aby pobrać wiersz z tabeli A i wiersz z tabeli B, ponieważ jest to relacja jeden do jednego.
NHibernate generuje sql do łączenia tabel przy użyciu tableA.aID = tableB.bID, co jest błędne.
To nie działa:
<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>
Dzięki. To się udało. Mylące, że muszę użyć elementu "jeden do jednego", gdy jest to naprawdę odwzorowanie jeden do jednego. Ustawię również typ pobierania, aby "dołączyć", aby zmniejszyć liczbę zapytań. – MonkeyWrench
Ale tak, jeśli możesz pokazać przykład dwukierunkowy, byłoby to edukacyjne. – MonkeyWrench
Proszę bardzo ... –