Ma structure de base de données ressemble à ceci:NHibernate Carte many-to-many se joindre à la table
Person
Id
Name
FieldA
FieldB
Phone
Id
Number
PersonPhone
PhoneId
PersonId
IsDefault
mappings Mon NHibernate pour la personne et les objets de téléphone sont tout droit, c'est le PersonPhone j'avoir difficile avec. Je veux avoir une collection d'objets PersonPhone comme une propriété de Person qui me permettra d'avoir le numéro de téléphone d'une personne et de savoir quel est le numéro de téléphone "par défaut" ou principal d'une personne.
idéalement Id comme mon objet PersonPhone à ressembler à ceci:
public class PersonPhone
{
public virtual Person Person { get; set; }
public virtual Phone Phone { get; set; }
public virtual bool IsDefault { get; set; }
}
jusqu'à présent ma cartographie NHibernate pour ce tableau se présente comme suit:
<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>
mais quand NHibernate compile mes correspondances que je reçois une erreur indiquant:
Impossible de compiler le document de mappage: MyApp.Entities.PersonPhone.hbm.xml. NHibernate.MappingException: Impossible de déterminer le type de: MyApp.Entities.Person, MyApp.Entities, Version = 1.0.0.0, Culture = neutre, PublicKeyToken = null, pour les colonnes: NHibernate.Mapping.Column (PersonId)
des idées sur la façon dont cela devrait être cartographié?
Si quelqu'un pourrait traduire cela FluenNHibernate ... – sydneyos