C# 如何使用FK NHibernate映射复合PK

C# 如何使用FK NHibernate映射复合PK,c#,.net,nhibernate,nhibernate-mapping,C#,.net,Nhibernate,Nhibernate Mapping,我想绘制这样的地图: 表FOO:COMPOSITE PK:ID_OTHERFOOFK1(PFK)、ID_OTHERFOOFK2(PFK)、ID_FOO(PK) 表OTHERFOO1关系:OTHERFOO1一对多FOO 表OTHERFOO2关系:OTHERFOO2一对多FOO 这个班看起来怎么样? hbm.xml会是什么样子?class Foo class Foo { public virtual int Id { get; set; } public virtual Foo1 F

我想绘制这样的地图:

表FOO:COMPOSITE PK:ID_OTHERFOOFK1(PFK)、ID_OTHERFOOFK2(PFK)、ID_FOO(PK)

表OTHERFOO1关系:OTHERFOO1一对多FOO 表OTHERFOO2关系:OTHERFOO2一对多FOO

这个班看起来怎么样? hbm.xml会是什么样子?

class Foo
class Foo
{
    public virtual int Id { get; set; }
    public virtual Foo1 Foo1 { get; set; }
    public virtual Foo2 Foo2 { get; set; }
}

class Foo1
{
    public virtual int Id { get; set; }
}

class Foo2
{
    public virtual int Id { get; set; }
}

<composite-id>
  <key-property name="id" column="ID_FOO"/>
  <key-many-to-one name="Foo1" column="ID_OTHERFOOFK1"/>
  <key-many-to-one name="Foo2" column="ID_OTHERFOOFK2"/>
</composite-id>
{ 公共虚拟整数Id{get;set;} 公共虚拟Foo1 Foo1{get;set;} 公共虚拟Foo2 Foo2{get;set;} } Foo1类 { 公共虚拟整数Id{get;set;} } 第二类 { 公共虚拟整数Id{get;set;} }
Thx。。。只有一个小细节:synax密钥是pair-tag。。THx批次