C# Fluent-nHibernate映射

C# Fluent-nHibernate映射,c#,fluent-nhibernate,C#,Fluent Nhibernate,我有三张桌子: Table1 - Id, Name Table2 - Id, Name Table3 - Id, Table2Id, Address 表1和表2具有相同的Id,表3在表2中引用了该Id。我试图映射表1,以便它加载表3中的数据。以下是我到目前为止尝试的内容,地址字段的所有内容都返回null: HasOne(x => x.Address).ForeignKey("Id"); HasOne(x => x.Address).ForeignKey("Table2Id").Ca

我有三张桌子:

Table1 - Id, Name
Table2 - Id, Name
Table3 - Id, Table2Id, Address
表1和表2具有相同的Id,表3在表2中引用了该Id。我试图映射表1,以便它加载表3中的数据。以下是我到目前为止尝试的内容,地址字段的所有内容都返回
null

HasOne(x => x.Address).ForeignKey("Id");
HasOne(x => x.Address).ForeignKey("Table2Id").Cascade.Delete();

HasOne要求所有表都具有相同的主键,而在本例中它们没有主键。在我看来,您需要更改映射以使用引用:

References(x => x.Address).KeyColumn("Id");