2

データベースの永続化のために C# と nHibernate を使用してブログを作成しています。エントリをタグ付けできるようにしたいので、tags プロパティの IList があります。しかし、これをデータベースの単一の列にあるカンマ区切りのリストにマップするにはどうすればよいでしょうか?

タグに別のテーブルを使用することは避け、それらを 1 つの列に別のリストとして保持したいと考えています。だから私は基本的に、データベース内のコンマ区切りのリストを IList プロパティにマップしようとしています。これは nHibernate で可能ですか?

4

1 に答える 1

5

はい、可能です:

http://www.codewrecks.com/blog/index.php/2008/10/21/some-details-on-older-post-about-usertype/

そのファイルをアセンブリに追加し、マッピング ファイルで参照します。

<property name='ListAsStringProperty'
              type='namespace.StringListUserType, assembly' />  

マップされるプロパティは、単純なコレクション (List または IList) である必要があり、文字区切り文字をオーバーライドしてカンマにします。

于 2008-12-05T20:11:56.187 に答える