流畅的nHibernate映射OneToOne

时间:2013-09-11 15:18:04

标签: c# fluent-nhibernate

我有3张桌子:

Table1 - Id, Name
Table2 - Id, Name
Table3 - Id, Table2Id, Address

表1和表2具有相同的Id,表3在表2中引用此Id。我正在尝试映射Table1,因此它加载表3中的数据。这是我到目前为止所尝试的,所有内容都返回null的地址字段:

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

1 个答案:

答案 0 :(得分:2)

HasOne要求所有表具有相同的主键,在这种情况下它们不具有相同的主键。在我看来,您需要更改映射以使用参考:

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