¿Cómo desasociar una entidad de un contexto en Entity Framework?

Uso EF 4.1 con Repository y DbContext .. POCO con plantilla T4. Para cada Repositorio utilizo un DbContext separado.

Necesito actualizar un objeto con una propiedad relacionada, en el momento en que recibo este error

An entity object cannot be referenced by multiple instances of IEntityChangeTracker.

Supongo que mi problema es porqueeventObj ycandidate Se crean desde diferentes repositorios.

Así que estoy tratando de resolver el problema con este código, sin éxito.

¿Mi pregunta?

¿Cómo me deshago de este error?

¿Es posible sacar al candidato de su contexto?

public void UpdateAddingCandidate(Event eventObj, Candidate candidate){
    Event updatedEvent = new Event();
    Candidate updatedCandidate = new Candidate();
    updatedEvent = eventObj;
    updatedCandidate = candidate;
    updatedEvent.Candidate = updatedCandidate;
    db.Entry(updatedEvent).State = EntityState.Modified;     
}

EDITAR

    public void UpdateAddingCandidate(Event eventObj, Candidate candidate)
    {
        /*
        db.Events.AsNoTracking();
        db.Candidates.AsNoTracking();
        */
        db.Entry(eventObj).State = EntityState.Detached;
        db.Entry(candidate).State = EntityState.Detached;

        Event updatedEvent = new Event();
        Candidate updatedCandidate = new Candidate();
        updatedEvent = eventObj;
        updatedCandidate = candidate;
        updatedEvent.Candidate = updatedCandidate;
        db.Entry(updatedEvent).State = EntityState.Detached;
        db.Entry(updatedEvent).State = EntityState.Modified;

    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta