Hi,

I posted about this in another post, but thought it might have gotten
buried under the wrong "Subject":
http://groups.google.com/group/fluent-nhibernate/browse_thread/thread/08d1d08648cfb281

I have two tables that have two separate references to each other:
1-to-many: 1 Manager to Many Customers (as PrimaryManagers)
many-to-many: Many Managers to Many Customers (as SecondaryManagers)

Both of my domain model entities (Manager and Customer) inherit from
the same base Business class (joined subclasses).

While I can get the many-to-many to map correctly using an automapping
override on the Business class, I cannot get the 1-to-many to map
correctly:

// Does not work correctly
mapping.JoinedSubClass<Manager>("BusinessId")
       .HasMany(x => x.ManagedCustomers)
       .KeyColumnNames.Clear()
       .KeyColumnNames.Add("PrimaryManagerFk")
       .Inverse();

// Works in this direction
mapping.JoinedSubClass<Customer>("BusinessId")
       .References<Manager>(x => x.PrimaryManager);


Here's the output I get:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-
access="">
  <class name="Project.Business, Project, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null" table="Businesses"
xmlns="urn:nhibernate-mapping-2.2">
    ...
    <joined-subclass name="Project.Manager, Project, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null" table="Managers">
      <key column="BusinessId" />
     ...
      <bag name="Customers" inverse="true"
table="ManagersToCustomers">
        <key column="ManagerFk" />
        <many-to-many column="CustomerFk" class="Project.Customer,
Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </bag>

<!-- INCORRECT MAPPING STARTS -->

      <bag name="ManagedCustomers" inverse="true">
        <key column="ManagerFk" />
        <one-to-many class="Project.Customer, Project,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </bag>

<!-- INCORRECT MAPPING STOPS -->

    </joined-subclass>
    <joined-subclass name="Project.Customer, Project, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null" table="Customers">
      <key column="BusinessId" />
      ...
      <bag name="SecondaryManagers" table="ManagersToCustomers">
        <key column="CustomerFk" />
        <many-to-many column="ManagerFk" class="Project.Manager,
Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </bag>
      <many-to-one name="PrimaryManager" column="PrimaryManagerFk" />
      ...
    </joined-subclass>
  </class>
</hibernate-mapping>


What am I doing wrong? I've tried every tutorial and example, but
can't get the KeyColumnName to be correct.
- Chris
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to