繁体   English   中英

如何获得清单 <ColumnType> 在SQL Server中?

[英]How to get List<ColumnType> in SQL Server?

我有建立表 ,如下所示,

EstabId    Name                      CheckinDate
114883  Marconfort Griego Hotel   2011-09-28 00:00:00.000
114910  Royal Costa Hotel         2011-10-18 00:00:00.000
114912  Roc Flamingo Hotel        2011-11-22 00:00:00.000
114912  Roc Flamingo Hotel        2011-11-29 00:00:00.000
114912  Roc Flamingo Hotel        2011-12-06 00:00:00.000
114912  Roc Flamingo Hotel        2011-12-13 00:00:00.000
114912  Roc Flamingo Hotel        2011-12-20 00:00:00.000
114894  Gran Hotel Blue Sea       2012-01-17 00:00:00.000
114894  Gran Hotel Blue Sea       2012-01-31 00:00:00.000

假设,如果我想像这样构造查询结果

Response  : {
  [
   EstabId: 114912,
   Name: 'Roc Flamingo Hotel',
   CheckinDates : [2011-11-22 00:00:00.000, 2011-11-29 00:00:00.000, 2011-12-06 00:00:00.000, 2011-12-13 00:00:00.000, 2011-12-20 00:00:00.000]
   ,... ]
}

是否有任何建议的方法可以从SQL Stored ProcedureC# + SQL combination实现此结构?

PS:听说,SQL SERVER将不支持List

任何回应将不胜感激。

这可能有效。 但你也应该阅读文章的特定需求。

该查询将返回带有逗号分隔的签入日期的结果,您可以将其存储在Establishment类的集合中。

SELECT es1.EstabId , es2.Name , 
( 
SELECT @CheckInDateList   = COALESCE(@CheckInDateList +',' ,'') + CheckinDate
                     FROM Establishment es2 
WHERE 
es2.EstabId = es1.EstabId
AND
es2.Name = es1.Name
) as CheckinDates

FROM Establishment es1

你可以像这样创建一个类

public class Checkins
{
    public int EstabId { get; set; }
    public string Name { get; set; }
    public List<DateTime> CheckInDates { get; set; }
}

然后创建一个Checkin实例,并从您的Databse中填充数据。 最后序列化该实例以获得预期的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM