A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Tipos an贸nimos en consultas linq

30/35
Recursos

Aportes 14

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

El contenido de este modulo fueron
DictionaryTryGet
LiqQuery
Distinct
From,select, where
OrderBy,groupBy

que despistado para programar! jaja

Que no se supone que esos reportes como lo son las asignaciones, alumnos por asignacion y sus promedios deberia ser delegada a la Base de Datos, ya que como se vio en el uso de funciones Linq estas facilitan enormemente la carga de logica, y estas funciones/reportes los crearia con gran facilidad en la base de datos

Como asocia la funcion lambda la variable evaluacion, con las evaluaciones del alumno cunado se hace el promedio.

Para utilizar group by de linq es necesario que tipo de dato sea compuesto from obj in objCompuesto group obj by obj.atributo into nombreDelGrupo select nombreDelGrupo.Key El resultado de una consulta group by es un enumerable<tipo_de_dato_del_atributo, objetoCompuesto>

Para m铆 fue m谩s f谩cil hacer el agrupamiento por nombre en lugar del Id, me funciona perfecto y as铆 me evito hacer tipos an贸nimos en el agrupamiento y bla bla de mas xD

public Dictionary<string, Object> ExtractAverage()
        {
            var outAverage = new Dictionary<string, Object>();
            var evalsBysubjectDic = ExtractEvaluationsBySubject();
            foreach (var keyValPair in evalsBysubjectDic)
            {
                //agrupa en evalsGroup las evaluaciones por nombre de alumno
                var dummy = from eval in keyValPair.Value
                            group eval by eval.studentBelong.name
                            into evalsGroup select new
                            {
                               name= evalsGroup.Key,
                               average =evalsGroup.Average(evaluation => evaluation.value)
                            };
                            //^^^ saca el promedio del grupo de evaluaciones
            }
            return outAverage;
        }

La serie de Linq fue muy desordenada, se saltan muchos conceptos. Group by se explica por encima y se usa bastante, Juan Carlos es muy pro en conocimiento pero le falta organizar los ejemplos y ejercicios.

馃槑

Interesante

Al principio cuesta entenderlo. Recomiendo ver el video m谩s de 1 vez para entenderlo bien.
Cuando hace el select, devuelve un innumerable, y de paso lo usa para crear un tipo an贸nimo y average recive uno a uno esos elementos del innumerable y les saca el float

De la misma forma que uno a uno va sacando del key el unique o nombre (dependiendo a que le asignasteis la key)

este agrupamiento y los tipos an贸nimos son 煤tiles cuando la BD puede que sea diferente a SQL server.

Linq, excelente herramienta para las consultas de datos en memoria minimizando la carga de grandes consultas a la base de datos.

Entiendo que el objetivo de la clase era el manejo del LinQ, pero creo que se debi贸 haber hecho un ejemplo mas y aplicado a la realidad. No creo que para sacar un campo calculado se deba crear una entidad. Debe de haber una forma mas sencilla para reportar datos calculados.

Creo que al agrupar por nombre seguimos obteniendo la misma cantidad de estudiantes por materia ya que si bien el nombre de algunos alumnos se repite son distintos por que tienen diferente id. Esto por la generacion aleatoria de alumnos. Quiza si se agrupa por nombre tendremos el resultado esperado.