The problem consist of two parts.
1) get from typed data set to ienumerable<>
2) do the group by on the ienumerable<>
re 1)
You should use the AsEnumerable method.
re 2)
Example:
using System;
using System.Collections.Generic;
using System.Linq;
namespace E
{
public class Data
{
public DateTime DT { get; set; }
public int V { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
List<Data> lst = new List<Data> {
new Data { DT=DateTime.Parse("2013-05-03"), V=5 },
new Data { DT=DateTime.Parse("2013-05-03"), V=11 },
new Data { DT=DateTime.Parse("2013-05-03"), V=4 },
new Data { DT=DateTime.Parse("2013-05-05"), V=2 },
new Data { DT=DateTime.Parse("2013-05-05"), V=9 },
new Data { DT=DateTime.Parse("2013-05-05"), V=3 },
new Data { DT=DateTime.Parse("2013-05-08"), V=12 },
new Data { DT=DateTime.Parse("2013-05-08"), V=10 },
new Data { DT=DateTime.Parse("2013-05-08"), V=7 },
new Data { DT=DateTime.Parse("2013-05-10"), V=6 },
new Data { DT=DateTime.Parse("2013-05-10"), V=8 },
new Data { DT=DateTime.Parse("2013-05-10"), V=1 }
};
foreach(Data d in lst.GroupBy(d => d.DT).Select(g => new
Data { DT=g.Key, V=g.Max(d2 => d2.V) }))
{
Console.WriteLine(d.DT + " " + d.V);
}
Console.ReadKey();
}
}
}
Arne