Class1 : Member { }
Class2 : Member
Here is the class
public class Link : ValueObject<Link> { protected virtual int Id { get; set; }
public virtual Member LinkFrom{get;protected set;} public virtual Member LinkTo{get;protected set;}
Here is my map
public class LinkMap : ClassMap<Link> { public LinkMap() { Id(Reveal.Member<Link>("Id"), "LinkId") .GeneratedBy.Native();
References(x => x.LinkFrom, "LinkFrom"); References(x => x.LinkTo, "LinkTo"); References(x => x.Definition).Columns("linkType", "reverselinkType").Fetch.Join(); Map(x=>x.LinkDate); Table("Links"); } }
Here is the hbm produced by fluent
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-access="property" auto-import="true" default-cascade="none" default-lazy="true"> <class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="DTE.Business.Domain.MembershipCourses.Link, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" table="Links"> <id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <column name="LinkId" /> <generator class="native" /> </id> <property name="LinkDate" type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <column name="LinkDate" /> </property> <many-to-one class="DTE.Business.Domain.MembershipCourses.Member, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" name="LinkFrom"> <column name="LinkFrom" /> </many-to-one> <many-to-one class="DTE.Business.Domain.MembershipCourses.Member, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" name="LinkTo"> <column name="LinkTo" /> </many-to-one> <many-to-one class="DTE.Business.Domain.MembershipCourses.LinkType, DTE.Business, Version=0.0.2.0, Culture=neutral, PublicKeyToken=null" fetch="join" name="Definition"> <column name="linkType" /> <column name="reverselinkType" /> </many-to-one> </class> </hibernate-mapping>
|