2012-09-19 27 views
0

原始數據:LINQ組數據

StrDateTime ServerName 
9/15/2012 3:01:19 PM 'srvr1' 
9/15/2012 3:01:19 PM 'srvr2' 
9/15/2012 3:01:19 PM 'srvr33' 
9/15/2012 3:02:15 PM 'srvr1' 
9/15/2012 3:02:15 PM 'srvr5' 

我的代碼(not work):

(from data in dataInToday 
group data by data.StrDateTime into grp 
let srvrs = (from i in grp select i.ServerName).ToString() 
select new 
{ 
    grp.Key, 
    srvrs 
}).Take(20).Dump(); 

預期輸出:

Key srvrs 
9/15/2012 3:01:19 PM 'srvr1, srvr2, srvr33' 
9/15/2012 3:02:15 PM 'srvr1, srvr5' 
9/15/2012 3:02:43 PM 'srvr1, srvr2' 
9/15/2012 3:03:19 PM 'srvr9, srvr2' 
9/15/2012 3:04:19 PM 'srvr5, srvr11' 
9/15/2012 3:05:19 PM 'srvr1, srvr2' 

是有LINQ功能可以實現它

回答

2

這是否工作?

(from data in dataInToday 
group data by data.StrDateTime into grp 
let srvrs = string.Join(", ", (from i in grp select i.ServerName)) 
select new 
    { 
     grp.Key, 
     srvrs 
    }).Take(20).Dump();