linq with group by c# code example

Example 1: groupby in linq

//Method Syntax

        List<Result> results2 = persons
            .GroupBy(p => p.PersonId, 
                     (k, c) => new Result()
                             {
                                 PersonId = k,
                                 Cars = c.Select(cs => cs.car).ToList()
                             }
                    ).ToList();

Example 2: C# linq group by

public class DeliverableGroupContainer
{
    public Crew Crew;
    public DateTime Date;
    public List<Deliverable> Deliverables;
}

List<DeliverableGroupContainer> Deliveries =
         Db.Deliveries
           .Where(d => d.CrewId != null)
           .GroupBy(d => new {d.Crew, d.Date})
           .OrderBy(d => d.Key)
           .Select(g => new DeliverableGroupContainer()
                        {
                            Crew = g.Key.Crew,
                            Date = g.Key.Date,
                            Deliverables = g.ToList()
                        })
           .ToList();
//------------------------------Example----------------------------------
 var drAll3 = dt.AsEnumerable().GroupBy(d => new { d.Field<DateTime>("date").Date, V = d.Field<String>("supplierArticle") })
                         .Select(g => new { _Date = g.Key.Date , Article = g.Key.V, Qty = g.Sum(r => r.Field<int>("quantity")) }).ToList();


            DataTable dt4 = StatHellpers.LINQResultToDataTable(drAll3);

Example 3: linq group by

var results = persons.GroupBy(
    p => p.PersonId, 
    p => p.car,
    (key, g) => new { PersonId = key, Cars = g.ToList() });