group by on list of object in linq c# code example

Example: 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);