//*************************************************************************************************************************************************** //*********************************************************** 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(); }
//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(); }