Grouper par plusieurs colonnes – LINQ

J’ai vu des exemples de multiplier groupe par colonnes, mais pour des classes. J’essaye de faire ceci pour un EnumerableDataRowList. mais j’obtiens “Déclarateur de membre anonyme de type anonyme”.

EnumerableDataRowList enumerableRowCollection = new EnumerableDataRowList(reportData.Select("WeekKey  '0'")); var groupedRows1 = from row in enumerableRowCollection group row by new {row["NETWORK"], row["Week"] }; 

J’ai aussi vu des gens combiner les colonnes dans certains cas pour obtenir les mêmes résultats. Tout avantage à le faire de cette façon

Vous devez atsortingbuer un identifiant aux valeurs:

  var groupedRows1 = from row in enumerableRowCollection group row by new { Network = row["NETWORK"], Week = row["Week"] }; 

Normalement, vous n’êtes pas obligé de spécifier un identifiant si vous utilisez une référence de champ ou de propriété, car le nom de ce membre ne sera réutilisé. Dans ce cas, vous accédez à une propriété d’indexeur. un nom d’elle.