У меня есть два стола, автомобиль и марка. Эти два соединения соединены с использованием MakeId в качестве внешнего ключа на таблице Vehicle. Мой файл отображение похож на этотNHibernate карта иностранный ключ
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Demo.Business.Objects.Vehicle, Demo.Business.Objects" table="Vehicle" >
<id name="VehicleId" type="int" >
<generator class="native" />
</id>
<property name="RegNumber" type="String" />
<property name="VehicleId" type="int" />
<property name="CustomerId" type="int" />
<join table="Make" fetch="join">
<key column="MakeId" foreign-key="MakeId"/>
<property name="Description" type="String" />
</join>
</class>
</hibernate-mapping>
я бы подумал, что это объединение двух таблиц на макияж ид, однако SQL, что ИОС генерируемый пытается следующее присоединиться: vehicle.vehicleid = make.makeid.
Как я могу получить это работать? То есть Я ожидаю, что:
select * from Vehicle
inner join Make on Make.MakeId = Vehicle.Make Id
извинения, StackOverflow вырезал остальную часть файла сопоставления. Остальное соглашается с таблицей Vehicle и прекрасно работает, его просто соединение, чтобы я не мог сортироваться. – januszstabik
Я отредактировал ваш вопрос с помощью синтаксиса StackOverflow, так что все будет выглядеть, красиво отформатировано и окрашено :-) – KLE