Entity Framework 7 agrupado por

asp.net-core asp.net-core-mvc entity-framework-core

Pregunta

Estoy intentando ejecutar el siguiente código, pero cuando verifico el analizador de SQL, parece que se ejecuta una selección completa en la tabla y luego se agrupa después de que devuelve todos los resultados de la base de datos. Cualquier ayuda es apreciada.

 var result = _dbContext.LogEvent.GroupBy(x => x.EventLevel)
                                 .Select(g => new 
                                              { 
                                                  eventType = g.Key, 
                                                  total = g.Sum(i => i.Occurrences) 
                                              }) 
                                 .ToList();

Respuesta aceptada

Actualizado:

El problema vinculado a continuación se ha cerrado y está programado para EF 2.1.0. ¡Deberías poder probarlo ahora usando el paquete de Vista previa!


Respuesta original:

No parece que esto sea compatible actualmente , pero parece que alguien vio esta publicación y creó el problema vinculado.

El concepto es un poco de lógica bastante compleja, y EF7 se encuentra en una fase muy temprana. GroupBy de .Net no se traduce directamente a GROUP BY SQL hasta que lo sigue con solo agregados o la clave en un Select . Si te sientes ambicioso, podrías trabajar en proporcionar una solicitud de extracción o continuar usando EF6.


Respuesta popular

Probablemente no será compatible en el corto plazo, desafortunadamente. Irá a causar mucha frustración porque mucha gente no lee las notas de la versión y naturalmente supondría que funcionaría como antes (EF6 / Linq2SQL).

Me doy cuenta de que puede ser complejo para cosas más complicadas que involucran entidades completas, pero es una pena que ni siquiera sea compatible con consultas simples como la suya :-(

https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué