static void Main(string[] args) { using (var db = new AppVentaCursosContext()) { db.Database.Migrate(); } }
static void Main(string[] args) { using (var db = new AppVentaCursosContext()) { var cursos = db.Curso.AsNoTracking(); // Devuelve un IQueryable. Sirve para que no esté en caché y devuelva el dato de la BD foreach (var curso in cursos) { Console.WriteLine(curso.Titulo + " | " + curso.Descripcion); } // Cursos con sus precios ( UNO a UNO) var CursoPrecio = db.Curso.Include(p => p.PrecioPromocion).AsNoTracking(); foreach (var curso in CursoPrecio) { Console.WriteLine(curso.PrecioPromocion.PrecioActual); } // Curso con sus comentarios (UNO A MUCHOS) var CursoComentario = db.Curso.Include(c => c.ComentarioLista).AsNoTracking(); foreach (var curso in CursoComentario) { Console.WriteLine(curso.Titulo); foreach (var comentario in curso.ComentarioLista) { Console.WriteLine("*******" + comentario.ComentarioTexto); } } //var CursoInstructor = db.Curso.Include( i => i.InstructorId).AsNoTracking(); } }
static void Main(string[] args) { //Console.WriteLine("Hello World!"); using (var db = new AppVentaCursosContext()){ #region 1.listar cursos //1.listar cursos // var cursos = db.Curso.AsNoTracking(); // foreach (var curso in cursos) // { // Console.WriteLine(curso.Titulo); // } #endregion #region 2.listar cursos y precio //2.listar cursos y precio // var cursos = db.Curso.Include(p => p.Precio).AsNoTracking(); // foreach (var curso in cursos) // { // Console.WriteLine($"{curso.Titulo} , Precio: {curso.Precio.PrecioActual }" ); // } #endregion #region 3.listar comentarios //3.listar comentarios // var cursos = db.Curso.Include(c => c.ComentarioLista).AsNoTracking(); // foreach (var curso in cursos) // { // Console.WriteLine($"> {curso.Titulo}" ); // foreach (var comentario in curso.ComentarioLista) // { // Console.WriteLine($" -- {comentario.ComentarioTexto} , de: {comentario.Alumno }" ); // } // } #endregion 3.listar comentarios #region 4.listar cursos y profesores // 4.listar cursos y profesores var cursos = db.Curso.Include(c => c.InstructorLink) .ThenInclude(ci => ci.Instructor); foreach (var curso in cursos) { Console.WriteLine($"> {curso.Titulo}"); foreach (var intLink in curso.InstructorLink) { Console.WriteLine($" -- {intLink.Instructor.Nombre} {intLink.Instructor.Apellido } , Grado: '{intLink.Instructor.Grado}'"); } } #endregion } }
public static int RemoverInstructor() { using (var db = new AppVentaCursosContext()) { Instructor instructor = db.Instructor.Single(p => p.InstructorId == 5); if (instructor != null) { db.Remove(instructor); } return(db.SaveChanges()); } }
public static int SobreEscrituraInstructor() { using (var db = new AppVentaCursosContext()) { Instructor instructor = db.Instructor.Single(p => p.Nombre == "Marco"); if (instructor != null) { instructor.Apellidos = "Marín Arellano"; } return(db.SaveChanges()); } }
static void Main(string[] args) { using (var db = new AppVentaCursosContext()){ // var cursos = db.Curso.AsNoTracking(); // var cursos = db.Curso.Include(p=>p.Precio).AsNoTracking(); // var cursos = db.Curso.Include(c => c.ComentarioLista).AsNoTracking(); // var cursos = db.Curso.Include(ci => ci.InstructorLink).ThenInclude(i => i.Instructor); //el siguiente ciclo es para estructuras de uno a muchos /* foreach(var curso in cursos){ * Console.WriteLine(curso.Titulo); * foreach(var inslink in curso.InstructorLink){ * Console.WriteLine(" ***** "+inslink.Instructor.Nombre); * } * } * //para insertar un nuevo registro a la BD * var nuevoinst1 = new Instructor{ * Nombre = "Juan", * Apellidos = "Perez", * Grado = "DB Admin" * }; * db.Add(nuevoinst1); * * //Se crea una variable que almacene el estado de la transaccion * var estado = db.SaveChanges(); * Console.WriteLine("Estado: "+estado); * } * * //para actualizar un registro * var inst = db.Instructor.Single(p => p.Nombre == "Lorenzo"); * if (inst!=null){ * inst.Apellidos = "prueba"; * inst.Grado = "biologo"; * var estado = db.SaveChanges(); * Console.WriteLine("Estado: "+estado); * }else{ * Console.WriteLine("Registro no encontrado"); * } * //Eliminar un registro * var inst = db.Instructor.Single(p=>p.InstructorId == 3); * if(inst!=null){ * db.Remove(inst); * var estado = db.SaveChanges(); * Console.WriteLine("estado: "+estado); * } */ db.Database.Migrate(); } }
static void Main(string[] args) { using (var db = new AppVentaCursosContext()) { // AsNoTracking no guarde en cache var cursos = db.Curso.Include(p => p.Precio).AsNoTracking(); // arreglo IQueryable foreach (var curso in cursos) { // Console.WriteLine(curso.Titulo + " - " + curso.Precio.PrecioActual); Console.WriteLine(curso.Titulo + " - " + curso.Precio.PrecioActual); } } }
public static int EscrituraInstructor() { using (var db = new AppVentaCursosContext()) { Instructor nuevo = new Instructor { Nombre = "Marco", Apellidos = "Mendez Sánchez", Grado = "Master en computación" }; db.Add(nuevo); return(db.SaveChanges()); } }
//Ejemplo de lectura de dos entidades - Relación Uno a Uno public static void LecturaCursoPrecio() { using (var db = new AppVentaCursosContext()) { Console.WriteLine("*************************************************"); // El metodo include permite que se haga la consulta a la tabla promocion y lo guarde en la prop del curso var cursos = db.Curso.Include(p => p.PrecioPromocion).AsNoTracking(); foreach (Curso curso in cursos) // arreglo IQueryable se pasa al tipo de dato que requiere { Console.WriteLine("Curso: {0} - Precio Promoción: ${1} ", curso.Titulo, curso.PrecioPromocion.PrecioActual); Console.WriteLine("- - - - - - - - - - - - - - - - - - - - - - - - -"); } } }
static void Main(string[] args) { using (var db = new AppVentaCursosContext()){ var cursos = db.Curso.Include(p => p.InstructorLink).ThenInclude(ci => ci.Instructor); foreach (var curso in cursos) { Console.WriteLine(curso.Titulo); foreach (var insLink in curso.InstructorLink) { Console.WriteLine(" ----------- " + insLink.Instructor.Nombre); } } } }
// Ejemplo de consulta Muchos a Muchos public static void LecturaCursoProfesores() { var db = new AppVentaCursosContext(); // En esta linea se hace el cruce de las 3 tablas Curso ¬ CursoInstructor ¬ Instructor var cursos = db.Curso.Include(c => c.InstructorLink).ThenInclude(ci => ci.Instructor); foreach (Curso curso in cursos) // arreglo IQueryable se pasa al tipo de dato que requiere { Console.WriteLine("**--- {0} ---**", curso.Titulo); Console.WriteLine("-------------------- Profesores --------------------"); foreach (CursoInstructor instrLink in curso.InstructorLink) { Console.WriteLine("Nombre: -> {0} | {1} \n", instrLink.Instructor.Nombre, instrLink.Instructor.Apellidos); } } }
/// Lectura una tabla a traves de una entidad public static void LecturaCurso() { //Llamada a dbContext - EL que conecta y entiende la db using (var db = new AppVentaCursosContext()) { Console.WriteLine("*************************************************"); // Lectura de una tabla Simple - Sin cache var cursos = db.Curso.AsNoTracking(); foreach (Curso curso in cursos) // arreglo IQueryable { Console.WriteLine($"Curso: {curso.Titulo}. \nPublicado el: {curso.FechaPublicacion}."); Console.WriteLine("- - - - - - - - - - - - - - - - - - - - - - - - -"); } Console.WriteLine("*************************************************"); } }
//Ejemplo de lectura de dos entidades - Uno a Muchos public static void LecturaCursoComentarios() { using (var db = new AppVentaCursosContext()) { Console.WriteLine("*************************************************"); var cursos = db.Curso.Include(c => c.ComentarioLista).AsNoTracking(); foreach (Curso curso in cursos) // arreglo IQueryable se pasa al tipo de dato que requiere { Console.WriteLine("{0} ----------- ", curso.Titulo); Console.WriteLine("---------------------------------------------"); foreach (Comentario comentario in curso.ComentarioLista) { Console.WriteLine(comentario.ComentarioTexto); Console.WriteLine("************************************"); } } } }
static void Main(string[] args) { using (var db = new AppVentaCursosContext()){ var cursoAlgebra = new Curso { Titulo = "Curso Algebra", Descripcion = "Curso Basico de matematica" }; db.Add(cursoAlgebra); var cursoLenguaje = new Curso { Titulo = "Curso Lenguaje", Descripcion = "Lengua Española" }; db.Add(cursoLenguaje); var estadoTransaccion = db.SaveChanges(); Console.WriteLine("Estado de Transaccion MYSQL ===>" + estadoTransaccion); } }
static void Main(string[] args) { //Console.WriteLine("¡Hola Alumnos!"); using (var db = new AppVentaCursosContext()) { #region Primer ejemplo // var cursos = db.Curso.AsNoTracking(); // foreach (var curso in cursos) // { // Console.WriteLine(curso.Titulo); // } #endregion #region Segundo ejemplo // var cursos = db.Curso.Include(item=>item.InstructorLink).ThenInclude(item=>item.Instructor); // foreach(var curso in cursos) // { // Console.WriteLine(curso.Titulo); // foreach (var instructorLink in curso.InstructorLink) // { // Console.WriteLine("====> " + instructorLink.Instructor.Nombre); // } // } #endregion #region Tercer ejemplo Insert // var nuevoInstructor = new Instructor // { // Nombre = "Juan", // Apellidos = "Pérez", // Grado = "Master en computación" // }; // db.Add(nuevoInstructor); // var nuevoInstructor2 = new Instructor // { // Nombre = "José", // Apellidos = "Mariano", // Grado = "Master en computación" // }; // db.Add(nuevoInstructor2); // var estadoTransaccion = db.SaveChanges(); // Console.WriteLine("Estado de la transacción ==>" + estadoTransaccion); #endregion #region Cuarto ejemplo update // var instructor = db.Instructor.Single(p=>p.Nombre == "Lorenzo"); // if(instructor != null) // { // instructor.Apellidos = "Castro de Romana"; // instructor.Grado = "Biologo con experiencia"; // var estadoTransaccion = db.SaveChanges(); // Console.WriteLine("El estado de la transacción ==>"+ estadoTransaccion); // } #endregion #region Quinto ejemplo delete var instructor = db.Instructor.Single(p => p.InstructorId == 7); if (instructor != null) { db.Remove(instructor); var estadoTransaccion = db.SaveChanges(); Console.WriteLine("Estado de la transacción ==> " + estadoTransaccion); } #endregion } }
static void Main(string[] args) { /* using( var db = new AppVentaCursosContext()){ * var cursos = db.Curso.AsNoTracking(); * foreach(var curso in cursos){ * Console.WriteLine(curso.Titulo + curso.Descripcion); * } * } */ /* using( var db = new AppVentaCursosContext()){ * var cursos = db.Curso.Include(p => p.PrecioPromocion).AsNoTracking(); * foreach(var curso in cursos){ * Console.WriteLine(curso.Titulo +" "+ curso.PrecioPromocion.PrecioActual); * } * } */ /* using( var db = new AppVentaCursosContext()){ * var cursos = db.Curso.Include(c => c.ComentarioLista).AsNoTracking(); * foreach(var curso in cursos){ * Console.WriteLine(curso.Titulo); * foreach(var comentario in curso.ComentarioLista){ * Console.WriteLine("\t"+comentario.ComentarioTexto +" -->"+ comentario.Alumno); * } * } * } */ /* using( var db = new AppVentaCursosContext()){ * var cursos = db.Curso.Include(c => c.InstructorLink).ThenInclude(ci => ci.Instructor); * foreach(var curso in cursos){ * Console.WriteLine(curso.Titulo); * foreach(var insLink in curso.InstructorLink){ * Console.WriteLine("*******"+insLink.Instructor.Nombre); * } * } * } */ /* using( var db = new AppVentaCursosContext()){ * var nuevoInstructor1 = new Instructor{ * Nombre = "Adelina", * Apellidos = "Perez", * Grado = "Expert UI" * }; * db.Add(nuevoInstructor1); * var nuevoInstructor2 = new Instructor{ * Nombre = "Delia", * Apellidos = "De Melgarejo", * Grado = "Master en Informatica" * }; * db.Add(nuevoInstructor2); * * var estadoTransaccion = db.SaveChanges(); * Console.WriteLine(estadoTransaccion); * } */ /* using(var db = new AppVentaCursosContext()){ * var instructor = db.Instructor.Single(p => p.Nombre == "Angela"); * if(instructor != null){ * instructor.Nombre = "Sandra"; * instructor.Apellidos = "Alvarado"; * instructor.Grado = "Procesos de pagos"; * var estadoTransaccion = db.SaveChanges(); * Console.WriteLine("El estado de la transaccion es: " + estadoTransaccion); * } * } */ using (var db = new AppVentaCursosContext()){ var instructor = db.Instructor.Single(p => p.InstructorId == 7); if (instructor != null) { db.Remove(instructor); var estadoTransaccion = db.SaveChanges(); Console.WriteLine("El estado de la transaccion es: " + estadoTransaccion); } } }