NHibernate Mapa de tabla de unión de muchos a muchos

La estructura de mi base de datos se ve así:

Person
  Id
  Name
  FieldA
  FieldB

Phone
  Id
  Number

PersonPhone
  PhoneId
  PersonId
  IsDefault

Mis asignaciones de NHibernate para los objetos Persona y Teléfono son sencillas, es el PersonPhone con el que estoy teniendo dificultades. Quiero tener una colección de objetos PersonPhone como propiedad de Person que me permita tener el número de teléfono de una persona y poder saber cuál es el número de teléfono "predeterminado" o principal para una persona.

Idealmente me gustaría que mi objeto PersonPhone se vea así:

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

hasta ahora mi mapeo de NHibernate para esta tabla tiene el siguiente aspecto:

<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>

pero cuando NHibernate compila mis asignaciones aparece un error que dice:

No se pudo compilar el documento de mapeo: MyApp.Entities.PersonPhone.hbm.xml. NHibernate.MappingException: No se pudo determinar el tipo de: MyApp.Entities.Person, MyApp.Entities, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null, para las columnas: NHibernate.Mapping.Column (PersonId)

¿Alguna idea sobre cómo se debe mapear esto?

Respuestas a la pregunta(6)

Su respuesta a la pregunta