none
Cargar Alumno y Tutor en una sola vista RRS feed

  • Pregunta

  • Buenas noches, soy novato utilizando asp.net mvc 5 entity framework, necesitaría de su ayuda para poder terminar mi tesis.
    Tengo dos tablas, Alumno y Tutor. Un alumno puede tener un solo tutor mientras que un tutor puede tener vario alumnos.

    public class Alumno
        {
            [Key]
            public int AlumnoId { get; set; }
            public string ApellidoAlumno { get; set; }
            public string NombreAlumno { get; set; }
    
            public virtual Tutor Tutor { get; set; }
        }
    public class Tutor
        {
            [Key]
            public int TutorId { get; set; }
            public string ApellidoTutor { get; set; }
            public string NombreTutor { get; set; }
            public string DocumentoTutor { get; set; }
            public int AlumnoId { get; set; }
            public virtual ICollection<Alumno> Alumno { get; set; }
        }


    public class ViewModelAlumnoTutor
        {        
            public string ApellidoAlumno { get; set; }
            public string NombreAlumno { get; set; }
            public string ApellidoTutor { get; set; }
            public string NombreTutor { get; set; }
            public string DocumentoTutor { get; set; }
        }

    En mi controlador tengo


    public ActionResult Create(ViewModelAlumnoTutor AlumViewModel) { if (ModelState.IsValid) { Alumno model = new Alumno(); Tutor Tmodel = new Tutor(); model.ApellidoAlumno = AlumViewModel.ApellidoAlumno; model.NombreAlumno = AlumViewModel.NombreAlumno; Tmodel.ApellidoTutor = AlumViewModel.ApellidoTutor; Tmodel.NombreTutor = AlumViewModel.NombreTutor; Tmodel.DocumentoTutor = AlumViewModel.DocumentoTutor; db.Alumno.Add(model); Tmodel.AlumnoId = model.AlumnoId; db.Tutor.Add(Tmodel); db.SaveChanges(); return RedirectToAction("Index"); } return View(); }

    El problema es que cuando guardo los registros, no me guarda sus relaciones.
    En la tabla Tutor me queda vacio el AlumnoId

    Agradecería una posible solución, desde ya muchas gracias

    • Editado Martin Aguilera lunes, 2 de marzo de 2020 23:32 Actualizar pregunta
    miércoles, 27 de noviembre de 2019 1:26

Todas las respuestas

  • hola

    Hay varias formas de implementar lo que mencionas, pero quizas la mas simple podria ser usando popups

    podrias estar en la vista de alumno y si se presiona en crear un tutor muestras un popup con esa view que crea el tutor

    Implement and display jQuery Modal Popup Dialog (Window) in ASP.Net MVC Razor

    asi como alli te muestra la ventana de view con el detalle del registro, en tu caso cargarias la partialview que crearia al tutor

    pero vas a tener que usar ajax con jquery

    Sino la otra es desarollar una aplicacion SPA con AngularJS, pero bueno alli dejarias de usar las view de asp.net mvc, cambiaria mucho el desarrollo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    miércoles, 27 de noviembre de 2019 2:42