public static bool CreaUsuarioYLoMatricula() { bool retorno = false; using (var db = new ApplicationDbContext()) { using (var transaction = db.Database.BeginTransaction()) { var curso = new Curso(); curso.Titulo = "Curso EF Core"; curso.Activo = true; db.Add(curso); db.SaveChanges(); var estudiante = new Estudiante(); estudiante.Nombre = "Alex"; estudiante.Apellidos = "Torrentí"; db.Add(estudiante); db.SaveChanges(); var matriculacion = new Matriculacion(); matriculacion.Curso = curso; matriculacion.Estudiante = estudiante; db.Add(matriculacion); db.SaveChanges(); transaction.Commit(); retorno = true; } } return(retorno); }
public static bool CreaUsuarioYLoMatriculaConScope() { bool retorno = false; Curso curso = null; Estudiante estudiante = null; using (var scope = new TransactionScope()) { using (var db = new ApplicationDbContext()) { curso = new Curso(); curso.Titulo = "Curso EF Core"; curso.Activo = true; db.Add(curso); db.SaveChanges(); } using (var db = new ApplicationDbContext()) { estudiante = new Estudiante(); estudiante.Nombre = "Alex"; estudiante.Apellidos = "Torrentí"; db.Add(estudiante); db.SaveChanges(); } using (var db = new ApplicationDbContext()) { var matriculacion = new Matriculacion(); matriculacion.Curso = curso; matriculacion.Estudiante = estudiante; db.Add(matriculacion); db.SaveChanges(); } scope.Complete(); retorno = true; } return(retorno); }