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

Untitled

By: a guest on Jun 25th, 2012  |  syntax: None  |  size: 1.29 KB  |  hits: 13  |  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. Handling a one-to-many relationship with value types in Fluent NHibernate
  2. public class CustomerMap : ClassMap<Customer>
  3. {
  4.     public CustomerMap()
  5.     {
  6.         Table("Customers");
  7.  
  8.         Id(x => x.Id);
  9.         Map(x => x.Name);
  10.         Component(x => x.Address);
  11.         HasMany(x => x.PhoneNumbers)
  12.             .KeyColumn("CustomerId")
  13.             .Cascade.All()
  14.             .Table("CustomerPhoneNumbers");
  15.     }
  16. }
  17.  
  18. public class PhoneNumberMap : ClassMap<PhoneNumber>
  19. {
  20.     public PhoneNumberMap()
  21.     {
  22.         Id(x => x.Id);
  23.         Map(x => x.Number, "PhoneNumber");
  24.         Map(x => x.PhoneNumberType);
  25.         Map(x => x.Description);
  26.     }
  27. }
  28.        
  29. <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  30. <class name="DomainModel.PhoneNumber, DomainModel"
  31.     table="PhoneNumberVendors" entity-name="PhoneNumberVendor">
  32.     <id name="_id" access="field" column="PhoneNumberId">
  33.         <generator class="assigned"/>
  34.     </id>
  35.     <property name= "...">
  36.     </class>
  37. <class name="DomainModel.PhoneNumber, DomainModel"
  38.     table="PhoneNumberCustomers" entity-name="PhoneNumberCustomer">
  39.     <id name="_id" access="field" column="PhoneNumberId">
  40.         <generator class="assigned"/>
  41.     </id>
  42.     <property name= "...">
  43.     </class>
  44. </hibernate-mapping>
  45.        
  46. _session.Update("PhoneNumberCustomer", myCustomerNumber)