Voici les pièces pertinentes. Ceci est un objet parent:NHibernate: mappage bidirectionnel un-à-plusieurs avec la sémantique IList
public class Article
{
public virtual IList<ArticleRevision> Revisions { get; set; }
}
<list name="Revisions" cascade="all" inverse="true" table="ArticleRevision">
<cache usage="read-write" />
<key column="ArticleID" not-null="true" />
<index column="Number" type="int32" />
<one-to-many class="ArticleRevision" />
</list>
C'est un enfant:
public class ArticleRevision
{
public virtual Article Article { get; set; }
}
<many-to-one name="Article" column="ArticleID" not-null="true" />
Maintenant, je crée une instance de Article
, ajouter un ArticleRevision
à Article.Revisions
collection, ensemble ArticleRevision.Article
pour référencer l'instance Article
et shove à la base de données:
INSERT
INTO
ArticleRevision
(Content, Keywords, CreatedAt, SiteID, ArticleID, CreatedByUserID, ID)
VALUES
(@p0, @p1, @p2, @p3, @p4, @p5, @p6);
Aucune colonne Number
insérée.
Comment mapper correctement une collection un-à-plusieurs bidirectionnelle avec la sémantique de liste dans NHibernate?