NHibernate:找不到'extends'引用的这些类

时间:2009-06-16 09:59:31

标签: nhibernate

我有一个简单的例子;一个具体的类,它继承了一个实现接口的抽象泛型类。

即。 StringProperty - > AbstractProperty< T> - >的iProperty

我收到以下错误...

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
   at NHibernate.Cfg.MappingsQueue.CheckNoUnavailableEntries()
   at NHibernate.Cfg.Configuration.SecondPassCompile()
   at NHibernate.Cfg.Configuration.BuildSessionFactory()

我使用NHibernate属性生成以下映射...

<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>

请告知映射有什么问题。

谢谢,

泰德。

1 个答案:

答案 0 :(得分:0)

问题在于无法映射AbstractProperty。

即使您还创建了定义泛型类型的子类映射,也无法映射打开的泛型类型。

我不太清楚为什么NHibernate在进入子类映射时才开始抱怨,但我很确定问题出在AbstractProperty映射上,而不是子类。