Jak odłączyć encję od kontekstu w Entity Framework?

Używam EF 4.1 z Repozytorium i DbContext .. POCO z szablonem T4. Dla każdego repozytorium używam osobnego DbContext.

Muszę zaktualizować obiekt o powiązaną właściwość, w chwili, gdy otrzymuję ten błąd

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

Przypuszczam, że mój problem jest takieventObj icandidate są tworzone z różnych repozytoriów.

Próbuję rozwiązać problem za pomocą tego kodu, bez powodzenia.

Moje pytanie?

Jak pozbyć się tego błędu?

Czy możliwe jest usunięcie kandydata z kontekstu?

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

EDYTOWAĆ

    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;

    }

questionAnswers(3)

yourAnswerToTheQuestion