我有两张表,Vehicle和Make。这两个是使用MakeId作为车辆表上的外键加入的。我的映射文件类似于这样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>
我还以为这将加入两个表上厂名标识,但该IOS产生尝试的SQL以下连接:vehicle.vehicleid = make.makeid.
我怎样才能得到这工作?即我预计:
select * from Vehicle
inner join Make on Make.MakeId = Vehicle.Make Id
道歉,StackOverflow剪掉了其余的映射文件。剩下的是对Vehicle表的认可,并且工作正常,它只是使我看起来无法排序的连接。 – januszstabik 2009-10-13 14:24:01
我使用StackOverflow语法编辑了您的问题,以便所有内容都显示出来,并且格式良好且颜色也很好:-) – KLE 2009-10-13 14:42:59