Index: iknow-api/Repository/Implementations/UserRepository.cs
===================================================================
--- iknow-api/Repository/Implementations/UserRepository.cs	(revision aee2b88c7a15b0b0d323790d18c133b41446ff41)
+++ iknow-api/Repository/Implementations/UserRepository.cs	(revision ea405569ef29f56fbfc4d77708b6b3faf9286097)
@@ -28,6 +28,12 @@
             return await _context.User
                 .Include(u => u.ContactInfo)
-                .Include(u => u.EnrollmentInfo)
                 .Include(u => u.HighSchool)
+                // The study programme is reached through the enrolment, since
+                // Major hangs off EnrolledSemesters rather than off Users.
+                .Include(u => u.Enrolments!)
+                    .ThenInclude(es => es.Major)
+                .Include(u => u.Enrolments!)
+                    .ThenInclude(es => es.Semester)
+                .AsSplitQuery()
                 .FirstOrDefaultAsync(u => u.Id == id);
         }
@@ -48,9 +54,4 @@
             await _context.SaveChangesAsync();
         }
-        public async Task AddEnrollmentAsync(EnrollmentInfo enrollment)
-        {
-            _context.EnrollmentInfo.Add(enrollment);
-            await _context.SaveChangesAsync();
-        }   
         public async Task AddHighSchoolAsync(HighSchool highSchool)
         {
@@ -89,5 +90,7 @@
                 .Include(ps => ps.SemesterSubject)
                     .ThenInclude(ss => ss.Professor)
-                .Where(ps => ps.SemesterSubject.UserId == id)
+                // The ER model reaches the student through the enrolment,
+                // not through a user_id on semesters_subjects.
+                .Where(ps => ps.SemesterSubject.EnrolledSemester.UserId == id)
                 .ToListAsync();
         }
