public void Add(Guid studentId, Guid courseId) { using (var transaction = _unitOfWork.BeginTransaction()) { try { var course = _unitOfWork.Context.Courses.FirstOrDefaultAsync(c => c.Id == courseId).Result; var student = _unitOfWork.Context.Students.FirstOrDefaultAsync(s => s.Id == studentId).Result; var studentCourse = StudentCourse.Create(student, course); student.RegistreStudent(studentCourse); _unitOfWork.Context.Students.Update(student); _unitOfWork.Commit(); } catch (Exception ex) { _unitOfWork.Rollback(); throw; } } }