views:

125

answers:

0

Hi,

I have an interface, an abstract implementation of interface with generics and a concrete implementation.

eg.

interface IProperty

[Class(Table = "Properties", Lazy = false)]
abstract AbstractGenericProperty<T> : IProperty

[Subclass(ExtendsType = typeof(AbstractGenericProperty<string>), DiscriminatorValue = "string", Lazy = false)]
class StringProperty : AbstractGenericProperty<string>

When I run it I get...

NHibernate.MappingException: These classes referenced by 'extends' were not found:
NhibernateTest.AbstractGenericProperty`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], PromoNhibernateTest

And here's the generated mapping

<?xml version="1.0" encoding="utf-8"?>
<!--Generated from NHibernate.Mapping.Attributes on 2009-06-11 14:48:11Z.-->
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="NhibernateTest.AbstractGenericProperty`1, PromoNhibernateTest" lazy="false" table="Properties">
    <id>
      <generator class="identity" />
    </id>
    <discriminator column="Name" type="String" />
  </class>
  <subclass name="NhibernateTest.StringProperty, PromoNhibernateTest" lazy="false" extends="NhibernateTest.AbstractGenericProperty`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], PromoNhibernateTest" discriminator-value="string" />
</hibernate-mapping>

Can anyone help??