Entity Framework: добавление существующего дочернего POCO в новый родительский POCO, создание нового дочернего в БД

Я хочу использовать Entity Framework POCO в автономном (из контекста) режиме. В моем сценарии яm создает новый родительский объект и хочет присоединить к нему существующий дочерний объект, а затем сохранить его в БД.

Приведенный ниже код нежелательно вставляет новую запись курса при сохранении новой записи студента, когда вместо этого я хочу, чтобы существующая запись курса была связана с новой записью студента.

Как я могу сделать это в Entity Framework, где ...

объекты могут быть отключены от контекста. (т.е. запрашивается в одном контексте, а затем сохраняется в другом контексте)Мне не нужно повторно запрашивать дочернюю запись из БД, чтобы я мог прикрепить ее к родителю, когдам сохранение в дб. Я действительно хочу избегать дополнительных поездок в БД, когда у меня уже есть объект в памяти.

На этой странице показана схема базы данных, на которой основан код нижеhttp://entityframeworktutorial.net/EF4_EnvSetup.aspx#.UPMZ4m-UN9Y

class Program
{
    static void Main(string[] args)
    {

        //get existing course from db as disconnected object
        var course = Program.getCourse();

        //create new student
        var stud = new Student();
        stud.StudentName = "bob";

        //assign existing course to the student
        stud.Courses.Add(course);

        //save student to db
        using (SchoolDBEntities ctx = new SchoolDBEntities())
        {
            ctx.Students.AddObject(stud);
            ctx.SaveChanges();
        }
    }

    static Course getCourse()
    {
        Course returnCourse = null;

        using (var ctx = new SchoolDBEntities())
        {
            ctx.ContextOptions.LazyLoadingEnabled = false;
            returnCourse = (from s in ctx.Courses
                            select s).SingleOrDefault();
        }

        return returnCourse;
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос