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

Chr*_*ees 2 c# nhibernate nhibernate-mapping

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

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

Wat*_*son 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' />  
Run Code Online (Sandbox Code Playgroud)

映射的属性应该是一个简单的集合(List或IList),覆盖char分隔符以使其成为逗号.