Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# Entity Framework Basics CRUD Operations Deleting an Entity

'GetContext' doesn't exist?

Not sure what I'm doing wrong here. Thought I was following just what the video demonstrates. What have I lost in translation?

Repository.cs
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;

namespace Treehouse.CodeChallenges
{
    public static class Repository
    {
        public static List<Course> GetCourses()
        {
            using (var context = new Context())
            {
                return context.Courses
                              .OrderBy(c => c.Teacher.LastName)
                              .ThenBy(c => c.Teacher.FirstName)
                              .ToList();
            }
        }

        public static List<Course> GetCoursesByTeacher(string lastName)
        {
            using (var context = new Context())
            {
                return context.Courses
                              .Where(c => c.Teacher.LastName == lastName)
                              .ToList();
            }
        }

        public static Course GetCourse(int id)
        {
            using (var context = new Context())
            {
                return context.Courses
                              .Include(c => c.Teacher)
                              .SingleOrDefault(c => c.Id == id);
            }
        }

        public static void AddCourse(Course course)
        {
            using (var context = new Context())
            {
                context.Courses.Add(course);
                context.SaveChanges();
            }
        }

        public static void UpdateCourse(Course course)
        {
            using (var context = new Context())
            {
                context.Courses.Attach(course);
                context.Entry(course).State = EntityState.Modified;
                context.SaveChanges();
            }
        }

        public static void DeleteCourse(int id)
        {
            using (Context context = new GetContext())
            {
                var course = new Course() { Id == id };
                context.Entry(course).State = EntityState.Deleted;

                context.SaveChanges();
            }
        }
    }
}

1 Answer

Steven Parker
Steven Parker
229,732 Points

The challenge code is not the same as the video example.

As you discovered, there's no "GetContext" here. But you can look at any of the other methods in this class to see an example of a using statement that would work here.

And when you establish your stub, instead of assigning ("=") the Id you have a comparison instead ("==").

Got it. Thanks!