質問

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することもできます。フィールドを追加すると、エラーが表示されました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top