1

NHibernate でジェネリック クラスのマッピング ファイルを作成するにはどうすればよいですか。クラス Foo があるとします。マッピング ドキュメントではどのように表示されますか? クラス名="mydll.Foo ???? , mydll" ...

それが Foo だったら、次のようになります: class name="mydll.Foo`1[[mydll.Fee, mydll]], mydll"

class name="mydll.Foo`1[[mydll.Fee, mydll],[mydll.Fi, mydll]], mydll" (試してみましたが、うまくいきませんでした。

4

2 に答える 2

0

正しいマッピングは次のようになります: class name="mydll.Foo`2[[mydll.Fee, mydll],[mydll.Fi, mydll]], mydll"

2 つの一般的な要素があるため、1 を 2 に変更します。これがクラスの name 属性で有効かどうかはわかりませんが、collection-type 属性では機能します。

于 2009-03-19T01:59:16.633 に答える
0

私はここで頭がいっぱいかもしれませんが (3 日前に NHibernate を始めたばかりです)、抽象クラスをマップする意味はありますか? 抽象クラスをインスタンス化できないのに、なぜそれをデータにマップするのでしょうか?

私の最善の推測は、サブクラスを必要なデータにマップし、これらもマップするために、ベースクラスでパブリック/保護されたセッターを作成する必要があるということです。これは、すべての (完璧な世界では) サブクラスに対して同じ方法で基本クラスをマッピングするため、多くのコピー アンド ペーストを行うことを意味します。

[編集] これを見つけました: NHibernate: 1 つの基本クラス、複数のマッピング

于 2009-03-18T22:15:29.107 に答える