nHibernate 1対多マッピングの質問
-
06-07-2019 - |
質問
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).
ここで何が起こっているのか教えてください。 おかげで、 Reddy
編集:申し訳ありませんが、誤字です。質問を投稿した後で見つけました...奇妙な......
解決
私の場合、タイプミスではなく、 ActionInfo
型のフィールドを持つ RuleInfo
クラスがありました。
ActionInfo
クラスに [Serializable]
を追加することで問題を解決できました。
面白いことは、 ActionInfo
を使用している間はすべて正常に動作したことです。つまり、ユニットテストを使用してDBでCRUDを実行できます。
ActionInfo
フィールドを使用せずに RuleInfo クラスを CRUDすることもできます。フィールドを追加すると、エラーが表示されました。
所属していません StackOverflow