<any> does not support polymorphism. Remove the two meta-value and you can see how everything work correctly or put the correct meta-value for each concrete class.
2010/4/2 bjfl <[email protected]> > Hi all, > > I have some problems using the <any> attribute with a class hierarchy, > NHibernate throwing a System.Collections.Generic.KeyNotFoundException > while saving my instances. > > In details : > I have a class with one property declared as an Interface, and many > classes implementing this interface. So I used the <any> attribute to > map this property : > <class name="OwnerClass" ... > > ... > <any name="Composant" ... > > <meta-value value="1" class="ClassA" /> > <meta-value value="2" class="ClassB" /> > ... > </any> > </class> > > unfortunately, ClassB is abstract and I have some concrete child > classes which can be instantiated. > NHibernate throws an exception while saving my instances when > Composant is an instance of a concrete class derived from ClassB. > Examining what happens with the database, the Composant entity is > correctly inserted, and the KeyNotFoundException is thrown before > inserting the OwnerClass entity. There's no problem when Composant is > of type ClassA. > Does I deduce that class hierarchies are not supported in the any > element, or is there any thing I have mist in using it ? > > Thanks in advance. > > -- > 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. > > -- 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]. 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.
