Ok, thanks.

I have three entities that inherit from a base Entity class.

public class Entity
{
                public long Key { ... }
}

public class Attribute : Entity
{
public Person Person { ... }
}

public class Race : Attribute
{
}

public class Person : Entity
{
                public IList<Race> Races { ... }
}

Regards,

Ron

From: [email protected] [mailto:[email protected]] On Behalf Of 
Fabio Maulo
Sent: Thursday, November 11, 2010 9:04 AM
To: [email protected]
Subject: Re: [nhusers] Problems with a bag of joined subclass entities

In your explanation you are mixing 'class' with tables.
Can we see the implementation of your domain ?
I would see if the relation is bidirectional or not and where is declared the 
property.
Where the relation is not bidirectional the Person FK, and using 
table-per-class, should be in the table representing the class related with 
Person.
--
Fabio Maulo


El 11/11/2010, a las 10:23, Ron Denis 
<[email protected]<mailto:[email protected]>> escribió:
The problem is that the query that is created when the Person.Races collection 
is lazy loaded is incorrect.

Nhibernate is generating SQL that joins Person.PersonKey to Race.PersonKey; 
however Race doesn't have a PersonKey.  Race inherits from Attribute and 
Attribute has a PersonKey.

I imagine that I am doing something wrong when I build the mapping information 
because somehow Nhibernate is expecting Race to have a PersonKey when my intent 
is that Race inherits PersonKey from Attribute.

Regards,

Ron

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>] On Behalf Of 
Fabio Maulo
Sent: Tuesday, November 09, 2010 12:20 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: [nhusers] Problems with a bag of joined subclass entities

I didn't understand the problem.
On Tue, Nov 9, 2010 at 10:56 AM, Ron Denis 
<[email protected]<mailto:[email protected]>> wrote:
Good morning.

I am still struggling to find a solution to this.  Does anyone have any 
suggestions?

Regards,

Ron

-----Original Message-----
From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>] On Behalf Of 
rdenis
Sent: Thursday, November 04, 2010 10:30 AM
To: nhusers
Subject: [nhusers] Problems with a bag of joined subclass entities

Guys,

As the title says, i have a mapping issue.  I have tried to condense the issue 
into a contrived example as follows.

I have:

1) A Person entity with a PersonKey primary key.
2) An Attribute entity with a reference to Person (has a PersonKey foreign key).
3) A Race entity that is a joined subclass of the Attribute entity.
4) The Person entity has an IList of Race entities (a Races property).

The problem is that nhibernate doesn't seem to recognize that Race will inherit 
the PersonKey from Attribute.  In the sql generation it wants to add a 
PersonKey column to Race.  Also, when I access the Races property of Person, 
the lazy load mechanism kicks in tries to query the list of Race entities by 
accessing Race.PersonKey, which, again should come from the Attribute class.

Any help would be greatly appreciated.

------------------------------

Additional Information:

The Person mapping:

<class name="Person" table="Person">
 <id name="Key" ....
   <column name="PersonKey" />
   ...
 </id>
 <bag inverse="true" name="IntoleranceConditions">
   <key>
     <column name="PersonKey" />
   </key>
   <one-to-many class="Race" />
 </bag>
</class>

The Attribute and Race Mappings:

<class name="Attribute" table="Attribute">
 <id name="Key" ...
   <column name="AttributeKey" />
   ...
 </id>
 <joined-subclass name="Race">
   <key foreign-key="Foo_FK">
     <column name="AttributeKey" />
   </key>
 </joined-subclass>
</class>

--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to 
[email protected]<mailto:[email protected]>.
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use 
of the named addressee(s) and may contain confidential and/or privileged 
information. Any unauthorized use, copying, disclosure, or distribution of the 
contents of this e-mail is strictly prohibited by the sender and may be 
unlawful. If you are not the intended recipient, please notify the sender 
immediately and delete this e-mail.

--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to 
[email protected]<mailto:[email protected]>.
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.



--
Fabio Maulo
--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to 
[email protected]<mailto:[email protected]>.
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use 
of the named addressee(s) and may contain confidential and/or privileged 
information. Any unauthorized use, copying, disclosure, or distribution of the 
contents of this e-mail is strictly prohibited by the sender and may be 
unlawful. If you are not the intended recipient, please notify the sender 
immediately and delete this e-mail.
--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to 
[email protected]<mailto:[email protected]>.
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.
--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to 
[email protected]<mailto:[email protected]>.
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use 
of the named addressee(s) and may contain confidential and/or privileged 
information. Any unauthorized use, copying, disclosure, or distribution of the 
contents of this e-mail is strictly prohibited by the sender and may be 
unlawful. If you are not the intended recipient, please notify the sender 
immediately and delete this e-mail.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" 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/nhusers?hl=en.

Reply via email to