Perhaps you should ask in Fluent nhibernate group < [email protected]>,
Tuna Toksöz Eternal sunshine of the open source mind. http://devlicio.us/blogs/tuna_toksoz http://tunatoksoz.com http://twitter.com/tehlike On Sun, Aug 23, 2009 at 6:54 PM, Mikael Henriksson <[email protected]>wrote: > I'll start with some code! > > public class Person > { > public virtual int Id { get; private set; } > public virtual string FirstName { get; set; } > public virtual string LastName { get; set; } > } > > public class BoardMember : Person > { > public virtual Board Board { get; set; } > public virtual MemberTypes Type { get; set; } > } > > public class Chairman : BoardMember > { > > } > > I want to inherit from person because a *board member *is a person. but I > have different types of board members that I want to discriminate on. For > instance Chairman should inherit from BoardMember. I know this might not be > the best solution in this specific domain. I am mainly curious of if it is > possible to do since I see a couple of problems: > > 1. Subclassing a class that is allready a subclass > 2. Self referencing tables in a many to many situation > > My original attempt looks like the following (using fluent NH): > > public class PersonMap : ClassMap<Person> > { > public PersonMap() > { > Table("person"); > Id(x => x.Id, "person_id"); > Map(x => x.FirstName, "person_first_name"); > Map(x => x.LastName, "person_last_name"); > } > } > > public class BoardMemberMap : SubclassMap<BoardMember> > { > public BoardMemberMap() > { > Table("board_member"); > Map(x => x.Type).Column("board_member_type"); > DiscriminateSubclassOnColumn("board_member_type"); > } > } > > public class Chairman : SubclassMap<Chairman> > { > public Chairman() > { > > } > } > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
