I have a readonly backing field of Ilist which is exposed with a property IEnumerable. The backing field does not get initialised, but the IEnumerable List does and ends up pointing to an NHibernate collection as it should.
The problem occurs in the subclass RootTemplateItem only. The mapping is created by fluent and automapping, so I was wondering if anyone with more hbm.xml experience could check the map.
<bag access="nosetter.camelcase-underscore" cascade="all-delete-orphan" inverse="true" lazy="true" name="SubItems" mutable="true"> <key> <column name="Parent_id" /> </key> <one-to-many class="DTE.Business.Domain.Model.Forms.AssessmentTemplate.TemplateItem, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" /> </bag>
<joined-subclass name="DTE.Business.Domain.Model.Courses.RootTemplateItem, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" table="DTE_RootTemplateItem"> <key> <column name="TemplateItem_id" /> </key> <bag access="field.camelcase" cascade="all-delete-orphan" inverse="true" lazy="true" name="SubItems" mutable="true"> <key> <column name="Parent_id" /> </key> <one-to-many class="DTE.Business.Domain.Model.Forms.AssessmentTemplate.TemplateItem, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" /> </bag> <many-to-one access="backfield" class="DTE.Business.Domain.Model.Courses.AssessmentTemplate, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" name="Template"> <column name="Template_id" /> </many-to-one> </joined-subclass>
protected readonly IList<TemplateItem> _subItems = new List<TemplateItem>();
public virtual IEnumerable<TemplateItem> SubItems { get { return _subItems; } }
|