Sorry for the slow reply, mappings are below:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false" assembly="App_Code.tqeub3fb" namespace="JohnHarmanLtd.Web.FineArtCompany.Models">
<class name="Product" table="[Product]" xmlns="urn:nhibernate-mapping-2.2">
<id name="Reference" column="Reference" type="String">
<generator class="assigned" />
</id>
<property name="Publish" column="Publish" type="Boolean" not-null="true">
<column name="Publish" />
</property>
<property name="ProductType" column="ProductType" type="JohnHarmanLtd.Web.FineArtCompany.Models.Product+enuProductType, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" not-null="true">
<column name="ProductType" sql-type="string" length="50" />
</property>
<property name="Updated" column="Updated" type="DateTime" not-null="true">
<column name="Updated" />
</property>
<property name="Created" column="Created" type="DateTime" not-null="true">
<column name="Created" />
</property>
<property name="Username" column="Username" length="100" type="String" not-null="true">
<column name="Username" />
</property>
<property name="Title" column="Title" length="300" type="String" not-null="true">
<column name="Title" />
</property>
<property name="Keywords" column="Keywords" length="300" type="String" not-null="true">
<column name="Keywords" />
</property>
<property name="ImageFilename" column="ImageFilename" length="150" type="String" not-null="true">
<column name="ImageFilename" />
</property>
<property name="LimitedEdition" column="LimitedEdition" type="Boolean" not-null="true">
<column name="LimitedEdition" />
</property>
<property name="SearchWeight" column="SearchWeight" type="Int32" not-null="true">
<column name="SearchWeight" />
</property>
<property name="OriginalArt" column="OriginalArt" type="Boolean" not-null="true">
<column name="OriginalArt" />
</property>
<many-to-one name="Artist" column="ArtistID" />
<many-to-one name="Colour" column="ColourID" />
<bag name="Lifestyles" lazy="true" table="ProductsWithLifestyles">
<key column="Reference" />
<many-to-many column="LifeStyleID" class="JohnHarmanLtd.Web.FineArtCompany.Models.Lifestyle, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
<bag name="Subjects" lazy="true" table="ProductsWithSubjects">
<key column="Reference" />
<many-to-many column="SubjectID" class="JohnHarmanLtd.Web.FineArtCompany.Models.Subject, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
<bag name="ArtTerms" lazy="true" table="ProductsWithArtTerms">
<key column="Reference" />
<many-to-many column="ArtTermID" class="JohnHarmanLtd.Web.FineArtCompany.Models.ArtTerm, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
<bag name="Prices" table="PriceOption">
<key column="Reference" />
<one-to-many class="JohnHarmanLtd.Web.FineArtCompany.Models.PriceOption, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
<bag name="Dimensions" table="Dimensions">
<key column="Reference" />
<one-to-many class="JohnHarmanLtd.Web.FineArtCompany.Models.Dimension, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bag>
<joined-subclass name="JohnHarmanLtd.Web.FineArtCompany.Models.SculpturePedestal, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
<key column="Reference" />
<property name="Material" column="Material" length="150" type="String" not-null="true">
<column name="Material" />
</property>
<property name="FinishOrColour" column="FinishColour" length="150" type="String" not-null="true">
<column name="FinishColour" />
</property>
</joined-subclass>
<joined-subclass name="JohnHarmanLtd.Web.FineArtCompany.Models.Book, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
<key column="Reference" />
<property name="DatePublished" column="DatePublished" type="DateTime">
<column name="DatePublished" />
</property>
</joined-subclass>
<joined-subclass name="JohnHarmanLtd.Web.FineArtCompany.Models.Print, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" table="[Print]">
<key column="Reference" />
<property name="MainPrint" column="MainPrint" type="Boolean" not-null="true">
<column name="MainPrint" />
</property>
<property name="NumberOfDifferentSizes" column="NumberDifferentSizes" type="Int32" not-null="true">
<column name="NumberDifferentSizes" />
</property>
<property name="Type" column="Type" type="JohnHarmanLtd.Web.FineArtCompany.Models.Print+enuType, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" not-null="true">
<column name="Type" sql-type="string" length="50" />
</property>
<component name="FrameSuggestion" insert="true" update="true">
<property name="Glazing" column="FrameGlazingID" type="JohnHarmanLtd.Web.FineArtCompany.Models.Frame+enuGlazing, App_Code.tqeub3fb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" not-null="true">
<column name="FrameGlazingID" sql-type="string" length="50" />
</property>
<many-to-one name="Frame" column="FrameSuggestionID" />
<many-to-one name="MountColour" column="FrameMountColourID" />
<many-to-one name="BorderColour" column="FrameBorderColourID" />
</component>
</joined-subclass>
</class>
</hibernate-mapping>