Entity Framework Core 오류: "이전 작업이 완료되기 전에 이 컨텍스트에서 두 번째 작업이 시작되었습니다."
내에서 Entity Framework Core로 작업할 때 ASP.Net Core 2.0 응용 프로그램을 사용하는 경우 이전 작업 전에 컨텍스트에서 두 번째 작업이 시작되었음을 나타내는 "InvalidOperationException"이 발생할 수 있습니다. 완료되었습니다.
원인 및 해결 방법:
이 오류의 근본 원인은 Entity Framework Core의 컨텍스트 구현이 스레드로부터 안전하지 않기 때문입니다. 이 문제를 해결하려면 종속성 주입 구성에서 DbContext를 Transient로 등록했는지 확인하세요.
services.AddDbContext<MyContext>(ServiceLifetime.Transient);
또는 컨텍스트를 Transient로 직접 등록할 수도 있습니다.
services.AddTransient<MyContext>();
다음으로 컨텍스트를 등록하지 마세요 범위:
services.AddDbContext<MyContext>();
추가 고려 사항:
일시적 종속성 이해:
컨텍스트를 임시로 추가한다는 것은 컨텍스트가 요청될 때마다 새 인스턴스가 생성된다는 의미입니다. 이는 스레드 안전 문제를 방지하지만 여러 클래스에 걸쳐 엔터티를 변경하는 기능도 제한합니다.
위 내용은 Entity Framework Core의 '이전 작업이 완료되기 전에 이 컨텍스트에서 두 번째 작업이 시작되었습니다.' 오류를 수정하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!