2017-04-13 1 views
0

비동기 결과로 Linq를 사용하는 동안 문제가 있습니다. "ObjectContext 인스턴스가 삭제되어 더 이상 연결이 필요한 작업에 사용할 수 없습니다."라는 오류가 발생할 때마다 - 내가 모든 작품 dB 우리의 테스트에 코드를하려고 할 때하지만 난 ... 단지 내 로컬 데이터베이스에 그것을 얻을로컬 데이터베이스에서만 : ObjectContext 인스턴스가 삭제되었습니다.

내 코드 :

var manufacturerData= await _manufacturerDataService.GetAllAsync(); 
    return Json(
         manufacturerData.Select(x => new 
         { 
          x.Id, 
          ManufacturerName = x.Manufacturer.Name, 
          CountryName = x.Country.Name, 
          x.ProductType, 
          ContractTypes = x.ContractTypes != null ? string.Join(" ", x.Types.Select(c => c.Name)) : "" 
         }), JsonRequestBehavior.AllowGet); 

나는 시험의 내 로컬 컴퓨터에 백업이 db, 그래서 나는 그것이 작동하지 않는 이유를 모르겠다.

+0

'GetAllAsync'가'IQueryable'을 리턴합니까? 그렇다면'To'를 EF 질의가 평가되도록하기 위해'Select'의 끝에 추가하십시오. – Romoku

+0

'GetAllAsync'는'IEnumerable'을 리턴합니다. 나는 ToList를 추가하려고 시도했지만 이제는 객체 참조가 객체 인스턴스로 설정되지 않았습니다. 매우 미친 짓입니다. – mg92

답변

0

이 문제의 해결책은 코드에서 발견되지 않았습니다. 데이터베이스에 문제가 있습니다. 제조사의 ID는 일부 경우 null (현지)이었습니다. 테스트 DB에서 데이터를 가져 오는 동안 문제가 발생했다고 생각합니다.

관련 문제