C# 如何在链接表之间建立多对一关系?
我在获取正确的hbm.xml以通过链接表映射多对一关系时遇到问题:C# 如何在链接表之间建立多对一关系?,c#,nhibernate,nhibernate-mapping,C#,Nhibernate,Nhibernate Mapping,我在获取正确的hbm.xml以通过链接表映射多对一关系时遇到问题: <class name="Car" table="Cars" lazy="true"> <id name="CarKey" type="int"> <generator class="native" /> </id> [properties]... <many-to-one ??? /> </class>
<class name="Car" table="Cars" lazy="true">
<id name="CarKey" type="int">
<generator class="native" />
</id>
[properties]...
<many-to-one ??? />
</class>
<class name="Driver" table="Drivers" lazy="true">
<id name="DriverKey" type="int">
<generator class="native" />
</id>
[properties]...
</class>
<class name="CarDriverLink" table="CarDriverLinks" lazy="true">
<id name="CarDriverLinkKey" type="int">
<generator class="native" />
</id>
<property name="CarKey">
<column name="CarKey" sql-type="int" not-null="true" />
</property>
<property name="DriverKey">
<column name="DriverKey" sql-type="int" not-null="true" />
</property>
</class>
[属性]。。。
[属性]。。。
假设在本例中,一辆车只能有一名驾驶员,但一名驾驶员可以有多辆车,我如何使用CarDriverLinks表将多对一关系添加到汽车映射中,以允许汽车查看哪个驾驶员可以驾驶它?对于一对多,多对一不一定需要一个交叉引用表。这将给你一个多对多的关系。由于每辆车只有一个驾驶员,您可以将DriverID添加到您的车表和类中。你的司机仍然可以有多辆车。我使用Fluent-NHibernate,所以我不太记得XML映射,但看看这个问题,它解释了您要查找的其他内容 我想你想要的是一个多对多的关系,我知道我不一定需要一个交叉引用表,但我有一个,我需要使用它,因为我不能走简单的路线,将DriverKey FK添加到Car表中。