Here are the relevant pieces. This is a parent object:
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>
This is a child:
public class ArticleRevision
{
public virtual Article Article { get; set; }
}
<many-to-one name="Article" column="ArticleID" not-null="true" />
Now, I create an instance of Article
, add one ArticleRevision
to Article.Revisions
collection, set ArticleRevision.Article
to reference the Article
instance and shove it to the database:
INSERT
INTO
ArticleRevision
(Content, Keywords, CreatedAt, SiteID, ArticleID, CreatedByUserID, ID)
VALUES
(@p0, @p1, @p2, @p3, @p4, @p5, @p6);
No Number
column gets inserted.
How do I correctly map a bidirectional one-to-many collection with list semantics in NHibernate?