Entity Framework 4를 사용하고 있는데 브라우저의 뒤로 버튼을 누르면 이전 페이지로 이동 한 후 그 페이지로 이동했습니다 페이지가 열립니다하지만 난 때 그 형태를 다시 제출 내가 얻을 같은 이상한 오류가 모든 종류의, EntityFramework - 뒤로 버튼을 누르고 다시 제출하면 오류가 발생합니다.
'엔티티 객체
이 문제는 어떻게 IEntityChangeTracker
의 여러 인스턴스에서 참조 할 수 없습니다 폼을 다시 제출할 때마다 새로운 db 컨텍스트가 각 요청과 함께 새로 만들어 질 때까지 그런 오류를 만들 수 있습니까? 나는 그들이 디버거에서 새로 생성되는 것을 볼 수있다!
엔티티가 추가되었다 부착되어 있다면이 상황에서 보았다 첨부 코드의 실행이 볼이 그것을 말한 전에 ...
context.Entry (단체); 엔티티를 부착 할 때
{System.Data.Entity.Infrastructure.DbEntityEntry`1[Entities.Orders.Order]}
CurrentValues: 'context.Entry(entity).CurrentValues' threw an exception of type 'System.InvalidOperationException'
Entity: {Entities.Orders.Order}
OriginalValues: 'context.Entry(entity).OriginalValues' threw an exception of type 'System.InvalidOperationException'
State: Detached
그것은 '단독'왜 나는 오류를 얻을 것?
건배, Ian.
컨텍스트가 스레드로부터 안전하지 않습니다. 당신은이 상황을 캐싱하지 않을 수 있습니다. 완료되면 컨텍스트를 삭제 하시겠습니까? –
아니요 명시 적으로 처리하지는 않지만 디버거에서는 new'd라는 것을 볼 수 있습니다. –
최근에 회의에 참석 한 사람이 회상을 통해 문맥 교차 요청으로 인해 이상한 문제가 발생했습니다. 파이널 라이저 신을 행복하게 만들기 위해서 using 문으로 감싸서 처리하고 다시 시도하십시오. 알맞은 출발점 이외에는 아무 것도 바꿀 수 없습니다. IDisposable을 구현하는 것은 폐기해야합니다. 또한 newd가 있기 때문에 내부에 확실한 정적 정보가 없다는 것을 의미하지는 않습니다. (내부 객체는 확실하지 않습니다. 단지 새로운 객체가 100 % 클린 상태를 보장하지 않는다는 것을 말합니다 - 특히 스레드 컨텍스트를 사용하는 경우 , etc.) –