linq with group by c# code example
Example 1: groupby in linq
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();
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() });