Detail class(es) itself is not tied to any of the business objects as it doesn't contain any specific information. As I said, the only difference between tables (except names) is foreign keys. Yes, I can create 2 different classes/interfaces, but I don't want to duplicate code or to create empty children. Also, this "details" are kind of small "details framework" which means that I will have to create more than 2 or 3 additional types (in fact, separate type for each of the detail value types; and currently we have 5 different types).
Anyway, thx for quick reply! On Mar 15, 10:33 pm, Jason Dentler <[email protected]> wrote: > You're over-thinking your problem. Don't combine the two. They represent two > different things. Map each separately. > > If you just want to share some logic, make an interface or abstract base > class that is common to your UserDetails and CompanyDetails, but NHibernate > should be ignorant of this. > > On Mon, Mar 15, 2010 at 10:03 AM, [email protected] > <[email protected]>wrote: > > > > > Aloha! > > > I have the following problem: I need to map multiple tables to single > > class (tables are not connected and represent completely different > > business entities). > > > To be more specific, I have 2 different entities: User & Company. Each > > of them has "primary" info stored in corresponding tables (Users & > > Companies) + "dynamic" info stored in the linked Details Tables (like, > > UserDetailStringValues & CompanyDetailStringValues). > > Basically, there's no difference between UserDetailStringValues & > > CompanyDetailStringValues tables, except they have different foreign- > > keys. > > > So, in order not to duplicate the code I've created single class > > called StringDetailValue. > > And it really works, but only using SPs (different data adapters call > > different SPs). But with NHibernate I can't write something like: > > session.Load<DetailStringValue>(1); > > because it doesn’t know what exactly I want to retrieve from database > > (ie, User or Company detail). > > > So, my question is: how can I specify the source from which I want to > > load data? Something like: > > session.From(“UserDetailStringValues”).Load<DetailStringValue>(1); > > or > > > session.From(“CompanyDetailStringValues”).Load<DetailStringValue>(1); > > > Actually, I suspect that there's no (simple) way to solve my issue, > > but may be I missed something..? :) > > I would be really appreciated for a hint or link on some article. > > > Thx & br, > > Vova > > > -- > > 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]<nhusers%[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]. 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.
