20

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

J R B
  • 2,069
  • 4
  • 17
  • 32

1 Answers1

51

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.

CodingIntrigue
  • 75,930
  • 30
  • 170
  • 176
  • One more thing, I want concat string IN/OUT with time on alternatively means 1st time with IN and next with OUT like IN-10:33:33 AM,OUT-10:33:39 AM, IN-11:33:33 AM etc – J R B Aug 13 '13 at 08:07