¿Cómo actualizar la base de datos relacional de TABELS?

Estoy usando Entity Framework 4.0. Me enfrento a un problema al actualizar los datos en la base de datos. Estoy recibiendo esta excepción:

Ya existe un objeto con la misma clave en el ObjectStateManager.
El ObjectStateManager no puede rastrear múltiples objetos con la misma clave.

Estoy trabajando en la base de datos relacional. Las siguientes son 3 entidades y hay relación:

         1    to   *        1   to    *
Ceremony -----------> Menu ------------> CourseOption

Todo funciona bien, si actualizo la ceremonia que ya contiene elMenus yCourseOptions. El problema viene cuando insertamos nuevosMenu yCourseOption Entrada en la ceremonia al momento de la actualización. Que tengo la excepción mencionada anteriormente.

Código C # para actualizar ceremonia existente.

public HttpResponseMessage PutCeremony(int id, Ceremony ceremony)
{
    if (ModelState.IsValid && id == ceremony.Id)
    {
       db.Entry(ceremony).State = EntityState.Modified;

       try
       {
           db.SaveChanges();
       }
       catch (DbUpdateConcurrencyException)
       {
           return Request.CreateResponse(HttpStatusCode.NotFound);
       }

       return Request.CreateResponse(HttpStatusCode.OK, ceremony);
    }
    else
    {
       return Request.CreateResponse(HttpStatusCode.BadRequest);
    }
}

¿Cómo puedo deshacerme de este problema? Por favor ayuda

EDITAR

Hoy pasé un día entero en esto, leí muchos articales y preguntas de stackoverflow. encontre esoonce a product is fetched from the Context, the context is keeping track of it así que por qué en lugar de usar:

db.Entry(ceremony).State = EntityState.Modified;

solía

db.Entry(db.Ceremonies.Find(ceremony.Id)).CurrentValues.SetValues(ceremony);

Ahora, al hacer este cambio, la excepción desapareció y las propiedades de la entidad de Ceremonia están cambiando correctamente. Pero la entrada de Menús relacionada con la ceremonia y la entrada de CourseOptions no se están actualizando. Por favor, dame sugerencias chicos. Soy absolutamente nuevo en EF.

Respuestas a la pregunta(1)

Su respuesta a la pregunta