Bonsoir je cherche à réaliser un GroupBy.
Je fais actuellement une requête :

Dans mon Controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
[HttpGet]
public ActionResult<IEnumerable<RideViewModel>> GetRidesList()
{
  var rideList = _rideRepository.GetAllRides();
  var rideListVM = _mapper.Map<IEnumerable<Ride>, IEnumerable<RideViewModel>>(rideList);
  return Ok(rideListVm);
}
Dans mon repository :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public IEnumerable<Ride> GetAllRides()
{
  var allRides = _contex.Set<Ride>()
       .Include(p => p.Lines)
             .ThenInclude(p => p.TransportType)
       .AsEnumerable();
  return allRides;
}
Cette requête de renvoi donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
[
  {"id":87, "createdById":1, "createdById":1, "rideDate":"2021-07-02T00:00:00", "isValid":"false", "lines":[{"id":166, "transportTypeId":1, "transportType":{"id":1,"name":"bicycle", "co2SavedPerKm":193},"kilometers":10, "rideId":87]},
  {"id":95, "createdById":1, "createdById":1, "rideDate":"2021-07-03T00:00:00", "isValid":"false", "lines":[{"id":167, "transportTypeId":3, "transportType":{"id":1,"name":"walk", "co2SavedPerKm":193},"kilometers":10, "rideId":95]},
  {"id":98, "createdById":1, "createdById":1, "rideDate":"2021-07-04T00:00:00", "isValid":"false", "lines":[{"id":168, "transportTypeId":2, "transportType":{"id":1,"name":"scooter", "co2SavedPerKm":193},"kilometers":10, "rideId":98]},
  {"id":99, "createdById":1, "createdById":1, "rideDate":"2021-07-05T00:00:00", "isValid":"false", "lines":[{"id":169, "transportTypeId":2, "transportType":{"id":1,"name":"scooter", "co2SavedPerKm":193},"kilometers":10, "rideId":98]},
  {"id":100, "createdById":1, "createdById":1, "rideDate":"2021-07-06T00:00:00", "isValid":"false", "lines":[{"id":170, "transportTypeId":1, "transportType":{"id":1,"name":"bicycle", "co2SavedPerKm":193},"kilometers":10, "rideId":98]}
]
Mon entité Ride contient une list de Lines qui contient transportType

Ce que je souhaite faire est de modifié la requête dans le repository afin d'avoir les informations triés par transportType name.
Je ne sais pas si je peux utiliser GroupBy ou bien si je dois faire un foreach sur ma list afin d'y faire un groupBy.
En vous souhaitant une bonne soirée !