Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Field concatenation based on group in LINQ

Tags:

c#

linq

wpf

I want concate a times field based on grouping of Userid and dates field using LINQ . i am using VS2010 C#(WPF).

i have a collection in below format.

enter image description here

and want result like

enter image description here

like image 790
J R B Avatar asked Aug 13 '13 07:08

J R B


1 Answers

You want to GroupBy the UserId, Date and presumably Deptname:

_context.Log.GroupBy(l => new { l.UserId, l.dates.Date, l.Deptname })
            .Select(g => new { g.Key.UserId, g.Key.Date, g.Key.Deptname, Log = string.Join(",", g.Select(i => i.times)) });

Should select the first UserId, Date and Deptname. Then join the log times together. Haven't checked this but seems like it should work.

like image 148
CodingIntrigue Avatar answered Oct 11 '22 12:10

CodingIntrigue