Nel seguente scenario come è possibile che la query SQL di recupero dei dati del bag usi il valore di SectionId e non ImageCarouselId come ho cercato invano di ottenere?
- SectionId è la primaryKey per poter ricercare in ImageCarousel col comando Repository<ImageCarousel>.FindById(...) che garantisce performance eccezionali di ricerca
Ho perso invano tantissimo tempo per cercare di trovare la soluzione.
Qualcuno è in grado di aiutarmi?
Classe di intestazione
public class ImageCarousel {
public virtual Int32 ImageCarouselId { get; set; }
public virtual Int32 SectionId { get; set; } // PrimaryKey
public virtual IList<ImageCarouselDetail> Details { get; set; }
}
Classe di dettaglio
public class ImageCarouselDetail {
public virtual Int32 ImageCarouselDetailId { get; set; }
public virtual Int32 ImageCarouselId { get; set; }
......
public virtual Int32 Position { get; set; }
}
Mappaggio
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="ObjectWeb.Core.Cms.Domain.ImageCarousel, ObjectWeb.Core.Cms" table="cms_ImageCarousels">
<id name="SectionId" column="SectionId" type="Int32" unsaved-value="-1">
<generator class="assigned">
<param name="sequence"></param>
</generator>
</id>
<property name="ImageCarouselId" generated="insert" insert="false" update="false" />
<bag name="Details" inverse="true" lazy="true" cascade="all-delete-orphan">
<key column="ImageCarouselId" />
<one-to-many class="ObjectWeb.Core.Cms.Domain.ImageCarouselDetail, ObjectWeb.Core.Cms" />
</bag>
</class>
</hibernate-mapping>