Как отменить присоединение объекта из контекста в Entity Framework?

Я использую EF 4.1 с репозиторием и DbContext .. POCO с шаблоном T4. Для каждого репозитория я использую отдельный DbContext.

Мне нужно обновить объект, имеющий связанное свойство, в данный момент я получаю эту ошибку

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

Я полагаю, что моя проблема из-заeventObj а такжеcandidate создаются из разных репозиториев.

Поэтому я пытаюсь решить проблему с этим кодом, но безуспешно.

Мой вопрос?

How do I get rid of this error?

Is is possible remove the candidate from its context?

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;     
}

РЕДАКТИРОВАТЬ

    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;

    }

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

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