Could you prepare a failing test case with the minimal classes and mappings that you prepared and submit as a new issue in Jira please.
2014-08-19 13:45 GMT+02:00 Matteo Migliore <[email protected]>: > I don't like your answer :D > > Before you say me that I'm wrong because should work without fix, but > than you put God in the middle :D > > > > On Tuesday, August 19, 2014 1:36:24 PM UTC+2, Ricardo Peres wrote: >> >> God and NHibernate knows! :-) >> >> RP >> >> On Tuesday, August 19, 2014 12:32:34 PM UTC+1, Matteo Migliore wrote: >>> >>> Yes, I know the same thing, but I was receiving the exception. >>> >>> Why? >>> >>> On Tuesday, August 19, 2014 1:25:15 PM UTC+2, Ricardo Peres wrote: >>>> >>>> It shouldn't be necessary... NHibernate doesn't care about the order by >>>> which mappings are inserted... >>>> >>>> RP >>>> >>>> On Tuesday, August 19, 2014 12:19:27 PM UTC+1, Matteo Migliore wrote: >>>>> >>>>> Thanks to this article I found the solution. >>>>> >>>>> I created a Type comparer to sort the entity classes based on their >>>>> inheritance level, the bases first: >>>>> public class OrderTypeByInheritance : IComparer<Type> >>>>> { >>>>> public int Compare(Type x, Type y) >>>>> { >>>>> var xClassMapping = x.BaseType.GetGenericArguments().Single(); >>>>> var yClassMapping = y.BaseType.GetGenericArguments().Single(); >>>>> >>>>> return xClassMapping.InheritanceLevel().CompareTo(yClassMapping. >>>>> InheritanceLevel()); >>>>> } >>>>> } >>>>> >>>>> public static class TypeExtensions >>>>> { >>>>> public static int InheritanceLevel(this Type type) >>>>> { >>>>> var count = 0; >>>>> >>>>> while (type != typeof(object)) >>>>> { >>>>> count++; >>>>> type = type.BaseType; >>>>> } >>>>> >>>>> return count; >>>>> } >>>>> } >>>>> >>>>> Than I used it with the ModelMapper: >>>>> var mapper = new ModelMapper(); >>>>> var types = mappingType.Assembly.GetTypes().OrderBy(x => x, new >>>>> OrderTypeByInheritance()); >>>>> >>>>> >>>>> On Tuesday, August 19, 2014 11:43:32 AM UTC+2, Matteo Migliore wrote: >>>>>> >>>>>> Right, sorry: >>>>>> internal class ScheduleMapping : ClassMapping<Schedule> { } >>>>>> >>>>>> internal class EventMapping : JoinedSubclassMapping<Schedule> { } >>>>>> >>>>>> internal class EventExtendedMapping : >>>>>> JoinedSubclassMapping<EventExtended> >>>>>> { } >>>>>> >>>>>> --------- >>>>>> public abstract class Schedule { } >>>>>> >>>>>> public class Event : Schedule { } >>>>>> >>>>>> public class EventExtended : Event { } >>>>>> >>>>>> Thank you. >>>>>> >>>>>> On Tuesday, August 19, 2014 11:37:04 AM UTC+2, Oskar Berggren wrote: >>>>>>> >>>>>>> I don't see any mappings? >>>>>>> >>>>>>> >>>>>>> 2014-08-19 11:28 GMT+02:00 Matteo Migliore <[email protected]>: >>>>>>> >>>>>>>> Hi! >>>>>>>> >>>>>>>> I map a class with the JoinedSubClass: >>>>>>>> public class Event >>>>>>>> { >>>>>>>> } >>>>>>>> >>>>>>>> public class EventExtended : Event //sample name >>>>>>>> { >>>>>>>> } >>>>>>>> >>>>>>>> NH give me the exception "Cannot extend unmapped class". >>>>>>>> >>>>>>>> What's wrong? >>>>>>>> >>>>>>>> Thank you. >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "nhusers" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> To post to this group, send email to [email protected]. >>>>>>>> Visit this group at http://groups.google.com/group/nhusers. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/nhusers. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
