使用nHibernate在字段中存储逗号分隔列表

时间:2008-12-05 19:58:08

标签: c# nhibernate nhibernate-mapping

我正在使用C#和nHibernate为我的数据库持久性构建一个博客。我想使条目可标记,所以我有一个IList用于tags属性。但是,如何将其映射到数据库中单个列中的逗号分隔列表?

我想避免为标记使用单独的表,只是将它们作为单独的列表保存在一列中。所以我基本上试图将数据库中逗号分隔的列表映射到IList属性。这可能在nHibernate中吗?

1 个答案:

答案 0 :(得分: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),覆盖char分隔符以使其成为逗号。