Таблица соединений «многие ко многим» NHibernate Map

Моя структура базы данных выглядит примерно так:

Person
  Id
  Name
  FieldA
  FieldB

Phone
  Id
  Number

PersonPhone
  PhoneId
  PersonId
  IsDefault

Мое сопоставление NHibernate для объектов Person и Phone прямое, с PersonPhone у меня возникли сложности. Я хочу иметь коллекцию объектов PersonPhone как свойство Person, которое позволит мне иметь номер телефона человека и иметь возможность определить, какой номер телефона является «по умолчанию» или основным номером человека.

в идеале мне бы хотелось, чтобы мой объект PersonPhone выглядел так:

public class PersonPhone
{
    public virtual Person Person { get; set; }
    public virtual Phone Phone { get; set; }
    public virtual bool IsDefault { get; set; }
}

пока что мое отображение NHibernate для этой таблицы выглядит следующим образом:

<class name="PersonPhone" table="PersonPhone">
    <composite-id>
        <key-property name="Person" column="PersonId" />
        <key-property name="Phone" column="PhoneId" />
    </composite-id>
    <property name="IsDefault" column="IsDefault"/>
</class>

но когда NHibernate компилирует мои отображения, я получаю сообщение об ошибке:

Не удалось скомпилировать документ сопоставления: MyApp.Entities.PersonPhone.hbm.xml. NHibernate.MappingException: не удалось определить тип для: MyApp.Entities.Person, MyApp.Entities, версии = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null, для столбцов: NHibernate.Mapping.Column (PersonId)

Любые идеи о том, как это должно быть сопоставлено?

Ответы на вопрос(3)

Ваш ответ на вопрос