使用HQL连接多行的字符串

时间:2011-02-15 17:21:43

标签: nhibernate

考虑一个包含三个行的名称的表:

彼得 保罗 玛丽

使用NHibernate HQL我希望将所有名称检索为单个字符串“Peter,Paul,Mary”,将其放在单个DTO对象字段中。有没有办法做这种连接?

2 个答案:

答案 0 :(得分:1)

不,没有。

除非使用特定的RDBMS功能,否则无法在SQL中进行字符串列聚合。

只需带上所有名称并将它们连接到客户端,

答案 1 :(得分:0)

在C#中实现它太简单了,所以不值得努力调整NHibernate来做它(你可以使用函数或公式或者......)

class MyDto
{
  string Name1 { get; set; }
  string Name2 { get; set; }
  string Name3 { get; set; }

  string Names
  { 
    get 
    {
      return string.Format("{0}, {1}, {2}", Name1, Name2, Name3)
    }
  }
}