//***************************************************************************************************************************************************
        //***********************************************************        INSERCCION      ****************************************************************
        //***************************************************************************************************************************************************
        static void PruebasInserccion(ApplicationDbContext context)
        {
            Estudiante        estudiante;
            List <Estudiante> lstEstudiantes = new List <Estudiante>();

            //Podemos agregar estudiantes de uno en uno o en bloque.

            //---- Agregamos solo un registro
            estudiante        = new Estudiante();
            estudiante.Nombre = "Pepe";
            estudiante.Fecha  = new DateTime(2019, 7, 20);
            context.Estudiantes.Add(estudiante);
            context.SaveChanges();


            //---- Agregamos varios registros un registro
            //Esta forma genera una solo consulta con la inserccion de todos los estudiantes
            estudiante = new Estudiante
            {
                Nombre = "Estu Inserccion 2",
                Fecha  = new DateTime(1988, 7, 15)
            };
            lstEstudiantes.Add(estudiante);

            estudiante = new Estudiante
            {
                Nombre = "Estu Inserccion 2",
                Fecha  = DateTime.Now
            };
            lstEstudiantes.Add(estudiante);

            context.Estudiantes.AddRange(lstEstudiantes);
            context.SaveChanges();

            //--------   Tabla relacionadas   -------
            //Teniendo el Id se puede agregar datos de una tabla relacionada
            //Vamos a obtener un Id de estudiante para el ejemplo pero lo normal es que el Id venga externamente.
            int IdEstu;

            IdEstu = context.Estudiantes.Select(x => x.Id).FirstOrDefault();

            DireccionEstudiante dir;

            dir = new DireccionEstudiante
            {
                EstudianteId = IdEstu,
                Direccion    = "Prueba insercción dirección"
            };
            context.Add(dir);
            context.SaveChanges();
        }
Exemplo n.º 2
0
        //Insertando datos relacionales

        public void InsertarDatosRelacionados()
        {
            bool paso = false;

            var grado = new Grado()
            {
                nombre  = "Segundo",
                Seccion = "Primaria"
            };

            var direccionEstudiante = new DireccionEstudiante()
            {
                ciudad    = "S.F.C.M.",
                provincia = "Duarte",
                pais      = "R.D."
            };

            var estudiante = new Estudiante()
            {
                nombre          = "Martinsito",
                apellido        = "Brito",
                altura          = 6,
                peso            = 250,
                fechaNacimiento = DateTime.Now,
                Grado           = grado,

                Direccion = direccionEstudiante,
            };

            using (var context = new Contexto())
            {
                context.Add <Estudiante>(estudiante);
                paso = (context.SaveChanges() > 0);
            }

            if (paso)
            {
                Console.WriteLine("Guardado");
            }
            else
            {
                Console.WriteLine("No fue posible guardar");
            }
        }
        public static void GuardarCourse()
        {
            Contexto context = new Contexto();

            try
            {
                var auxCourse = new Curso()
                {
                    CursoId      = 0,
                    EstudianteId = 1,
                    NombreCurso  = "naturales"
                };

                var address = new DireccionEstudiante()
                {
                    ciudad    = "Cotui",
                    provincia = "Sanches ramires",
                    pais      = "Rep Dom."
                };

                context.Curso.Add(auxCourse);
                context.DireccionEstudiantes.Add(address);
                bool save = context.SaveChanges() > 0;

                if (save)
                {
                    Console.WriteLine("El curso se guardo !");
                }
                else
                {
                    Console.WriteLine("no se pudo guardar");
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                context.Dispose();
            }
        }
        //***************************************************************************************************************************************************
        //********************************************************     INICIALIZACION DATOS    **************************************************************
        //***************************************************************************************************************************************************
        static void InicializarDatos(ApplicationDbContext context)
        {
            //Vaciamos la base de datos por si ya existen datos.
            //este comando necesita    using Microsoft.EntityFrameworkCore;
            //context.Database.ExecuteSqlCommand("DELETE FROM [Estudiantes]");
            context.Database.ExecuteSqlRaw("DELETE FROM [Estudiantes]");

            Random r = new Random();
            int    aleatorio;
            DireccionEstudiante dir;

            List <Estudiante> lstEstudiantes = new List <Estudiante>();

            for (int contador = 0; contador < 40; contador += 1)
            {
                Estudiante estudiante = new Estudiante
                {
                    Nombre = "Estudiante" + contador,
                    Fecha  = DateTime.Now
                };

                //El valor de borrado lo ponemos aleatoriamente
                aleatorio = r.Next(1, 3);
                if (aleatorio == 1)
                {
                    estudiante.Borrado = true;
                }
                else
                {
                    estudiante.Borrado = false;
                }

                //------ Añadimos la/s direccion/es ------
                //No es necesario indicar el ID del Estudiante porque al asociarlo al modelo el sabe que pertenece al
                //estudiante y le pone automaticamente el ID correspondiente.
                aleatorio = r.Next(1, 3);
                if (aleatorio == 1)
                {
                    estudiante.Direcciones = new List <DireccionEstudiante>();
                    dir           = new DireccionEstudiante();
                    dir.Direccion = "Calle Prueba " + contador + 10;
                    estudiante.Direcciones.Add(dir);
                }
                else
                {
                    estudiante.Direcciones = new List <DireccionEstudiante>();
                    dir           = new DireccionEstudiante();
                    dir.Direccion = "Calle Prueba " + contador + 10;
                    estudiante.Direcciones.Add(dir);
                    dir           = new DireccionEstudiante();
                    dir.Direccion = "Calle Prueba " + contador + 14;
                    estudiante.Direcciones.Add(dir);
                }

                //------ Añadimos detalle del estudiante ------
                DetalleEstudiante detalle;
                detalle = new DetalleEstudiante();
                detalle.Identificacion       = $"1-{r.Next(1000,2000)}-{r.Next(100000,900000)}";
                estudiante.DetalleEstudiante = detalle;

                estudiante.EstudiantesCursos = new List <EstudianteCurso>();
                EstudianteCurso estudianteCurso = new EstudianteCurso();
                Curso           Curso           = new Curso();
                Curso.Nombre          = "Curso Prueba 1";
                estudianteCurso.Curso = Curso;
                estudiante.EstudiantesCursos.Add(estudianteCurso);

                estudianteCurso       = new EstudianteCurso();
                Curso                 = new Curso();
                Curso.Nombre          = "Curso Prueba 2";
                estudianteCurso.Curso = Curso;
                estudiante.EstudiantesCursos.Add(estudianteCurso);

                lstEstudiantes.Add(estudiante);
            }

            context.AddRange(lstEstudiantes);
            context.SaveChanges();
        }