Как сопоставить составной PK с FK NHibernate

#c# #.net #nhibernate #nhibernate-mapping

#c# #.net #nhibernate #nhibernate-сопоставление

Вопрос:

Я хочу сопоставить что-то вроде этого:

Таблица FOO: СОСТАВНОЙ PK: ID_OTHERFOOFK1 (PFK), ID_OTHERFOOFK2 (PFK), ID_FOO (PK)

Таблица OTHERFOO1 корабль отношений: OTHERFOO1 один ко многим FOO Таблица OTHERFOO2 корабль отношений: OTHERFOO2 один ко многим FOO

Как будет выглядеть класс? Как бы hbm.xml как выглядит?

Ответ №1:

 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>
 

Комментарии:

1. Спасибо … только одна маленькая деталь: ключ synax — это тег пары .. <key-property name=»id» column=»ID_FOO»/> .. THx много