Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            EntityFrameworkForLinqEntities db = new EntityFrameworkForLinqEntities();
            GrupoDePersonas Niños             = generarGrupo(db, "Niños");
            GrupoDePersonas Adolecentes       = generarGrupo(db, "Adolecentes");
            GrupoDePersonas Adultos           = generarGrupo(db, "Adultos");

            generarPersona(db, "Daniel Carbajal", 28, Adultos.Id);
            generarPersona(db, "Javier Espinoza", 38, Adultos.Id);
            generarPersona(db, "Luis Rodriguez", 22, Adultos.Id);
            generarPersona(db, "Manuel Escobedo", 34, Adultos.Id);
            generarPersona(db, "Paola Ravelo", 44, Adultos.Id);
            generarPersona(db, "Paola Ravelo", 10, Niños.Id);
            generarPersona(db, "Claudia Arbe", 7, Niños.Id);
            generarPersona(db, "Alexandra Del Pino", 8, Niños.Id);
            generarPersona(db, "Carlos Neyra", 12, Niños.Id);
            generarPersona(db, "Gustavo Torpoco", 13, Niños.Id);
            generarPersona(db, "Manuel Esquives", 5, Niños.Id);
            generarPersona(db, "Paolo Maldonado", 4, Niños.Id);
            generarPersona(db, "Luisa De La Roza", 14, Adolecentes.Id);
            generarPersona(db, "Carmen Chu", 17, Adolecentes.Id);
            generarPersona(db, "Julia Juventus", 18, Adolecentes.Id);
            generarPersona(db, "Rodrigo Rivadeneira", 14, Adolecentes.Id);
            generarPersona(db, "Paul Del Prado", 15, Adolecentes.Id);
            generarPersona(db, "Juan Ugalde", 16, Adolecentes.Id);
        }
Ejemplo n.º 2
0
        static private GrupoDePersonas generarGrupo(EntityFrameworkForLinqEntities db, string NombreDelGrupo)
        {
            GrupoDePersonas grupo = db.GrupoDePersonas.FirstOrDefault(x => x.Nombre.Equals(NombreDelGrupo));

            if (grupo == null)
            {
                grupo        = new GrupoDePersonas();
                grupo.Nombre = NombreDelGrupo;
                db.GrupoDePersonas.Add(grupo);
                db.SaveChanges();
            }
            return(grupo);
        }
Ejemplo n.º 3
0
        static private Persona generarPersona(EntityFrameworkForLinqEntities db, string nombrePersona, int edad, int idDelGrupo)
        {
            Persona persona = db.Persona.FirstOrDefault(x => x.Nombre.Equals(nombrePersona));

            if (persona == null)
            {
                persona                   = new Persona();
                persona.Nombre            = nombrePersona;
                persona.Edad              = edad;
                persona.IdGrupoDePersonas = idDelGrupo;
                db.Persona.Add(persona);
                db.SaveChanges();
            }
            return(persona);
        }
Ejemplo n.º 4
0
        private static void ListarPersonasConSusGrupo()
        {
            using (EntityFrameworkForLinqEntities db = new EntityFrameworkForLinqEntities())
            {
                var query = from persona in db.Persona
                            join grupo in db.GrupoDePersonas on persona.IdGrupoDePersonas equals grupo.Id
                            select new
                {
                    NombreDeLaPersona            = persona.Nombre,
                    NombreDelGrupoAlQuePertenece = grupo.Nombre
                };

                query.ToList().ForEach(x => Console.WriteLine(x.NombreDeLaPersona + " - " + x.NombreDelGrupoAlQuePertenece));
            }
        }
Ejemplo n.º 5
0
        private static void ListarGruposConElNumeroDeMiembrosInscritos()
        {
            using (EntityFrameworkForLinqEntities db = new EntityFrameworkForLinqEntities())
            {
                var query = from persona in db.Persona
                            join grupo in db.GrupoDePersonas on persona.IdGrupoDePersonas equals grupo.Id
                            group grupo by new { grupo.Nombre } into agrupamiento
                    select new
                {
                    NombreDelGrupo            = agrupamiento.Key.Nombre,
                    NumeroDePersonasInscritas = agrupamiento.Count(),
                };

                query.ToList().ForEach(x => Console.WriteLine(x.NombreDelGrupo + " - " + x.NumeroDePersonasInscritas));
            }
        }
Ejemplo n.º 6
0
        private static void ListarGruposConEdadPromedio()
        {
            using (EntityFrameworkForLinqEntities db = new EntityFrameworkForLinqEntities())
            {
                var queryDeferido = from persona in db.Persona
                                    join grupo in db.GrupoDePersonas on persona.IdGrupoDePersonas equals grupo.Id
                                    select new
                {
                    NombreDelGrupo  = grupo.Nombre,
                    EdadDeUnMiembro = persona.Edad
                };

                var queryDiferidoAnidado = from grupoEdad in queryDeferido
                                           group grupoEdad by new { grupoEdad.NombreDelGrupo } into agrupamiento
                    select new {
                    NombreDelGrupo        = agrupamiento.Key.NombreDelGrupo,
                    EdadPromedioEnElGrupo = agrupamiento.Average(x => x.EdadDeUnMiembro)
                };

                var queryEjecutadoYCargadoEnLista = queryDiferidoAnidado.ToList();
                queryEjecutadoYCargadoEnLista.ForEach(x => Console.WriteLine(x.NombreDelGrupo + " - " + x.EdadPromedioEnElGrupo));
            }
        }