如何在流畅的nhibernate中将复合主键映射到外国?

2024-03-15

我有以下表格:

table A:

 FOO (PK) | CLIENT (PK)

table B:

 BAR (PK) | CLIENT (PK/FK) | FOO (FK)

PK -> 主键

FK -> 外键

A 和 B 之间存在一对多关系。 我不能简单地这样做:

class AMap
{
    public AMap()
    {
        CompositeId().KeyReference(a => a.FOO)
                     .KeyReference(a => a.CLIENT);
        HasMany(a => a.B);
    }
}


class BMap
{
    public BMap()
    {
        CompositeId().KeyReference(a => a.BAR)
                     .KeyReference(a => a.CLIENT);
        References(a => a.A);
    }
}

它将失败,但出现以下异常:

外键 (FKE7804EB3DA7EBD4B:B [FOO])) 的列数必须与引用的主键 (A [FOO, CLIENT]) 相同

是否可以使用流畅的 nhibernate 正确映射它?


找到了解决方案:

HasMany(a => a.B).KeyColumns.Add("FOO", "CLIENT").Cascade.All(); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在流畅的nhibernate中将复合主键映射到外国? 的相关文章

随机推荐