0
원시 SQL 쿼리를 실행해야하지만 데이터베이스 연결을 열려고하면 오류가 발생합니다. "연결이 닫히지 않았습니다. 연결의 현재 상태가 열려 있습니다."EntityFrameworkCore, 원시 SQL 쿼리를 실행하려고하는데 오류가 발생합니다 : "연결이 닫히지 않았습니다. 연결의 현재 상태가 열려 있습니다."
_loginValidator 및 _contactService는 DI를 통해 컨트롤러에 전달된다 : 아래
services.AddScoped<ILoginValidator, LoginValidator>();
services.AddScoped<IContactService, ContactService>();
두 라인은 제어부의 작용 기능에있다. 나는 두 줄을 전환 경우, 오류가 ... 도망 간다 :
여기var validationErrors = _loginValidator.Validate(id, "");
var user = _contactService.GetContact(id);
이 _loginValidator.Validate입니다. 내가 두 번째 줄을 주석 경우 는 오류가 ... 멀리 간다 : 여기
public LoginValidationResult Validate(int userId, string encryptedPassword)
{
var vr = new LoginValidationResult();
var user = _context.Users.Include(u => u.LoginUserQuestionAnswers).FirstOrDefault(u => u.Id == userId);
//...
}
이 _contactService.GetContact입니다.
public ContactDto GetContact(int id)
{
var conn = _context.Database.GetDbConnection();
//ERROR HERE!!!
conn.Open();
//work on conn, for example: ExecuteReader
conn.Close();
}
참고 : 나는 유효성 검사 (...) 함수에서 _context 라인을 주석 경우
- , 나는 오류가 발생하지 않습니다 나는 오류 어디서 이입니다.
- 조치 기능에 나열된 두 줄을 전환하면 오류가 발생하지 않습니다.
나는 문제가 EntityCore가 _loginValidator.Validate에서 나는 그것을 사용을 마친 후 연결 (...)
누구든지 내가이 문제를 해결할 수있는 방법을 알고 폐쇄되지 않는 것입니다 생각하십니까?
어디에서 연결을 닫으시겠습니까? – Sparrow