"JavaScript Loops, Arrays and Objects" was retired on December 18, 2020. You are now viewing the recommended replacement.

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

Deleting an Entity:

Feel like I'm close...

Repository.cs(63,43): error CS1922: A field or property Treehouse.CodeChallenges.Course' cannot be initialized with a collection object initializer because typeTreehouse.CodeChallenges.Course' does not implement `System.Collections.IEnumerable' interface Compilation failed: 1 error(s), 0 warnings

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 (var context = new Context())
            {
                var course = new Course() { Id == id };
                context.Entry(course).State = EntityState.Deleted;

                context.SaveChanges();
            }
        }
    }
}

2 Answers

Steven Parker
Steven Parker
231,275 Points

You're certainly close, you just have one wrong symbol.

When you established your stub and set up the Id, you used a comparison operator ("==") instead of an assignment operator ("=").

Thank you sir!