流畅的NHibernate一对一映射通过附加表

时间:2009-03-01 23:47:37

标签: nhibernate fluent mappings

我有一个表A,它通过第三个表C引用表B.C包含A和B的主键。对于每个A,C中最多有一个记录。当我尝试创建一个映射A以便我引用B,我使用References函数,但它不允许我指定映射通过另一个表而不是直接。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

我知道可以做的唯一映射是A:的映射中的HasManyToMany:

HasManyToMany(x => x.B)
    .WithTableName("C")
    .WithParentKeyColumn("A_Id")  
    .WithChildKeyColumn("B_Id"); 

问题在于映射是针对具有B列表的A,而不仅仅是一个。我不知道你怎么能这样才能以一种干净的方式获得一个。

答案 1 :(得分:0)

我相信我在Google代码示例中找到了答案。在映射类中,可以编写一个附加的:

WithTable("SomeTable", c => { c.Map(x => x.Col1); });