Je suis en train d'apprendre NHibernate. J'ai utilisé des exemples de la documentation et ici à stackoverflow, mais il me manque quelque chose. J'ai un objet PARENT qui a une collection de CHILD. Un enfant n'a pas de signification sans un parent, donc la base de données a FK défini sur NOT NULL. La mise en œuvre de NHibernate de CHILD à PARENT fonctionne bien, même si je n'ai pas besoin de cette direction de relation. Au lieu de cela, j'ai essayé d'implémenter le parent possédant la relation, mais je reçois constamment une erreur de base de données bouillonnant "Impossible d'insérer la valeur NULL dans PARENT_ID". Ni l'ID ni l'entité du PARENT ne sont stockés dans l'ENFANT lors de l'enregistrement.Le mappage parent NHibernate ne crée pas de clé étrangère enfant
Voir l'exemple de code ci-dessous. S'il vous plaît donnez votre avis.
classe Fichiers
public class PARENT {
private readonly IList<CHILD> _children = new List<CHILD>();
public virtual Id { get; set; }
public virtual void AddChild(CHILD child) {
_children.add(child);
}
}
public class CHILD {
public virtual Id { get; set; }
}
Mappages
<class name="PARENT" table="Parent">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity" />
</id>
<bag name="Children" access="field.camelcase-underscore" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="CHILD"/>
</bag>
</class>
<class name="CHILD" table="Child">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity"/>
</id>
</class>
ne sais pas si vous savez mais, allez ici -> http://www.summerofnhibernate.com/ pour de très bons screencasts sur NHibernate! – Perpetualcoder