¿Cómo puedo agrupar con múltiples columnas usando lambda?
Vi ejemplos de cómo hacerlo usando linq para entidades, pero estoy buscando la forma lambda.
                    
                        c#
                                .net
                                entity-framework
                                lambda
                                
                    
                    
                        Naor
fuente
                
                
            fuente

GetHashCodey anulados correctamenteEquals. Fueron diseñados exactamente para este tipo de caso de uso.GroupBydevuelve unIEnumerable<IGrouping<TKey, TSource>>que es esencialmente unIEnumerable<IEnumerable<TSource>>con unaKeypropiedad en el enumerable interno. ¿Eso le ayuda a obtener el "IEnumerable" de los elementos del grupo?si tu mesa es asi
fuente
Además de la respuesta de aduchis anterior, si luego necesita filtrar en función de esos grupos por claves, puede definir una clase para envolver las muchas claves.
Donde CustomerGroupingKey toma las claves de grupo:
fuente
fuente
Se me ocurrió una combinación de definir una clase como la respuesta de David, pero sin requerir una clase Where para ir con ella. Se parece a algo como:
¿Dónde
resultRecordsestá mi lista inicial que estoy agrupando y es unList<ResultCsvImport>. Tenga en cuenta que la idea aquí es que estoy agrupando por 3 columnas, IdObj1 e IdObj2 e IdObj3fuente