nHibernate一对多映射问题

时间:2009-10-28 04:17:57

标签: nhibernate one-to-many

我在映射一对多关系时遇到此异常。我的映射xml看起来像这样:

<set name="-----" generic="true" inverse="true" cascade="all" lazy="false">
      <key column="Id" />
      <one-to-many class="-----------,---------" />
</set>

而且,

<many-to-one name="------" column="Id" not-null="true" class="---------,-------" />

和例外:

------ Test started: Assembly: ----------.dll ------

TestCase '-------.GetSchema' failed: NHibernate.MappingException : Could not determine type for: Iesi.Collections.Generic.ISet`1[[-----------, --------, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, for columns: NHibernate.Mapping.Column(--------)
   at NHibernate.Mapping.SimpleValue.get_Type()
   at NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping)
   at NHibernate.Mapping.Property.IsValid(IMapping mapping)
   at NHibernate.Mapping.PersistentClass.Validate(IMapping mapping)
   at NHibernate.Mapping.RootClass.Validate(IMapping mapping)
   at NHibernate.Cfg.Configuration.Validate()
   at NHibernate.Cfg.Configuration.BuildSessionFactory()
   at in 
0 passed, 1 failed, 0 skipped, took 4.20 seconds (NUnit 2.5.2).

请告诉我这里发生了什么。 谢谢, 雷迪

编辑:对不起朋友,这是一个错字,我在发布问题后发现了......很奇怪......

1 个答案:

答案 0 :(得分:0)

在我的情况下,这不是一个错字,我有一个RuleInfo类,其字段为ActionInfo

我设法通过将[Serializable]添加到ActionInfo类来解决我的问题。

有趣的是,使用ActionInfo时一切正常,即我可以使用单元测试在数据库上对其进行CRUD。

我还可以在没有 RuleInfo字段的情况下CRUD ActionInfo。添加字段后,出现错误。