.netlinqlinq-to-sql

How do I get the MAX row with a GROUP BY in LINQ query?


I am looking for a way in LINQ to match the follow SQL Query.

Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number

Really looking for some help on this one. The above query gets the max uid of each Serial Number because of the Group By Syntax.


Solution

  • using (DataContext dc = new DataContext())
    {
        var q = from t in dc.TableTests
                group t by t.SerialNumber
                    into g
                    select new
                    {
                        SerialNumber = g.Key,
                        uid = (from t2 in g select t2.uid).Max()
                    };
    }