예제 #1
0
 static void Main(string[] args)
 {
     using (var db = new AppVentaCursosContext())
     {
         db.Database.Migrate();
     }
 }
예제 #2
0
        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
            }
        }
예제 #4
0
        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());
            }
        }
예제 #5
0
        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());
            }
        }
예제 #6
0
        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();
            }
        }
예제 #7
0
        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);
                }
            }
        }
예제 #8
0
 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());
     }
 }
예제 #9
0
 //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("- - - - - - - - - - - - - - - - - - - - - - - - -");
         }
     }
 }
예제 #10
0
 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);
             }
         }
     }
 }
예제 #11
0
        // 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);
                }
            }
        }
예제 #12
0
 /// 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("*************************************************");
     }
 }
예제 #13
0
 //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("************************************");
             }
         }
     }
 }
예제 #14
0
        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);
            }
        }
예제 #15
0
파일: Program.cs 프로젝트: freyna/NetCore
        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
            }
        }
예제 #16
0
        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);
                }
            }
        }