Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 11th, 2012  |  syntax: None  |  size: 1.24 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. NHibernate One-To-One
  2. class A {
  3. public virtual string Id {get;set;}
  4. public virtual B B {get;set;} // properties...... }
  5.  
  6. class B { public virtual string Id {get;set;} // properties......
  7. public virtual string ParentId { get;set;} // class A Id }
  8.        
  9. CREATE TABLE [A](
  10.     [Id] [nvarchar](45) PRIMARY KEY
  11. ) ON [PRIMARY]
  12.  
  13. CREATE TABLE [B](
  14.     [Id] [nvarchar](45) PRIMARY KEY,
  15.     [ParentId] [nvarchar](45) NOT NULL
  16. ) ON [PRIMARY]
  17.        
  18. <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  19. <class name="A,AssemblyName" table="A" lazy="true">
  20. <id name="Id" column="Id" type="string">
  21. <generator class="assigned"/>
  22. </id>
  23. <one-to-one name="_B" cascade="all" fetch="join" foreign-key="None" constrained="true" class="B"/>
  24. </class>
  25. </hibernate-mapping>
  26.  
  27.  
  28. <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  29. <class name="B,AssemblyName" table="B" lazy="true">
  30. <id name="Id" column="Id" type="string"> <generator class="assigned"/> </id>
  31. <property name="_Name" column="Name"/> </class>
  32. </hibernate-mapping>
  33.        
  34. <class name="B,AssemblyName" table="B" lazy="true">
  35.    <id name="Id" column="Id" type="string">
  36.       <generator class="assigned"/>
  37.    </id>
  38.    <many-to-one name="A" unique="true" column="A" />
  39.    <property name="_Name" column="Name"/>
  40. </class>