That's the way to do it for now! SubclassMap is neater, and that's why I've done it. The model branch will be merged into master/trunk when we release 1.0, so you'll be able to clean it up then. Aiming at a couple of weeks time for 1.0.
On Thu, Jul 23, 2009 at 7:06 AM, Mikael Henriksson <[email protected]>wrote: > Arf! You are right :) I get too many updates every day, don't have time to > read them fully! Anyway, I did the following for now which seems to be > working fine but it's not that intuitive. The SubClassMap would be "neater" > for a n00b like me. It took me almost 10 minutes to figure out how to do the > subclass. I had to really dig into the source code for fluent to figure it > out. > > public PersonMap() > { > WithTable("persons"); > > Id(x => x.Id, "person_id"); > Map(x => x.FirstName, "person_first_name"); > Map(x => x.LastName, "person_last_name"); > Map(x => x.CreatedAt, "created_at"); > > JoinedSubClass<Contact>("person_id", MapContact); > } > > private static void MapContact(JoinedSubClassPart<Contact> part) > { > part.WithTableName("contacts"); > part.Map(x => x.Email, "contact_email"); > part.Map(x => x.Phone, "contact_phone"); > part.Map(x => x.Mobile, "contact_mobile"); > > part.Component(x => x.Address, c => > { > c.Map(x => x.StreetOne, > "address_street_one"); > c.Map(x => x.StreetTwo, > "address_street_two"); > c.Map(x => x.Zip, > "address_zip"); > c.Map(x => x.City, > "address_city"); > c.Map(x => x.Country, > "address_country"); > }); > > part.References(x => x.ContactType) > .LazyLoad() > .Cascade.All() > .ColumnName("contact_type_id"); > > } > > > 2009/7/23 James Gregory <[email protected]> > >> No, you don't. If it's twitter where you got your information from, you'll >> see that I also specified "on the model branch". Not trunk. >> >> >> On Thu, Jul 23, 2009 at 6:39 AM, Mikael Henriksson >> <[email protected]>wrote: >> >>> Don't know if I am retarded or not but I only find SubClass within >>> SubClassPart...is that what I am supposed to use for the parent? Now I get >>> it. The part.. this class is part of a series of classes that are joined. >>> Nice. Ok so I want JoinedSubclassPart<Parent> and then JoinedSubClass<Child> >>> hehe time to experiment >>> >>> 2009/7/23 James Gregory <[email protected]> >>> >>> Hopefully everything should be documented before we release 1.0. In the >>>> mean time, just ask here and I'll answer. SubclassMap just works the same >>>> as >>>> ClassMap really. >>>> public class ParentMap : ClassMap<Parent> >>>> { >>>> public ParentMap() >>>> { >>>> Id(x => x.Id); >>>> >>>> // regular mapping >>>> } >>>> } >>>> >>>> // child >>>> public class ChildMap : SubclassMap<Child> >>>> { >>>> public ChildMap() >>>> { >>>> // child mappings >>>> } >>>> } >>>> >>>> On Wed, Jul 22, 2009 at 10:57 PM, Mikael Henriksson < >>>> [email protected]> wrote: >>>> >>>>> And of course you just submit the changes I need. >>>>> Thanks James! >>>>> >>>>> When will you have time to document? SubClassMap needs a quickie on the >>>>> wiki :) >>>>> >>>>> 2009/7/22 James Gregory <[email protected]> >>>>> >>>>> JoinedSubclass is what you need. >>>>>> >>>>>> On Wed, Jul 22, 2009 at 10:46 PM, Mikael Henriksson < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I can't find any good information on this topic. The only examples I >>>>>>> can find is AutoMapping. What I have is two classes Person and >>>>>>> ContactPerson. I map them separately not using >>>>>>> DiscriminateSubClassOnColumn >>>>>>> or whatever it is called. I tried table-per-class-hierarchy but I don't >>>>>>> like >>>>>>> it. I want table-per-subclass but don't know how to do it fluently. Any >>>>>>> suggestions? >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
