0

1 対多の関係をマッピングすると、この例外が発生します。私のマッピング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).

ここで何が起こっているのか教えてください。ありがとう、レディ

編集:申し訳ありませんが、タイプミスです。質問を投稿した後に見つけました...変です....

4

1 に答える 1

0

私の場合、タイプミスではなく、RuleInfotype のフィールドを持つクラスがありましたActionInfo

クラスに追加[Serializable]することで問題を解決できました。ActionInfo

面白いことに、 を使用している間はすべて正常に機能しましActionInfoた。つまり、単体テストを使用して DB で CRUD を実行できました。

フィールドなしRuleInfoクラスをCRUD することもできます。フィールドを追加した後、エラーが表示されました。ActionInfo

于 2009-11-30T11:32:10.707 に答える