2013-03-05 5 views
0

3 개의 레코드가있는 테이블 (작업)을 쿼리하고 있습니다. 이 테이블에는 JobTypes에 대한 외래 키와 Users라는 테이블이 있습니다. 다음 쿼리를 실행할 때 세 개의 레코드를 다시 얻지 만 처음 반환 된 결과에 대해서만로드가 지연 될 수 있습니다.Simple.Data Lazy Reference Null

Jobs Found: 3 
Some Job by admin 

에러 메시지는 :

IEnumerable<dynamic> jobs = _db.Jobs.All() 
      .Where(_db.Jobs.Completed == false) 
      .Where(_db.Jobs.RunAfter <= DateTime.Now); 

Console.Out.WriteLine("Jobs Found: {0}", jobs.ToList().Count); 

foreach(var job in jobs.ToList()) 
{ 
    Console.Out.WriteLine("{0} from {1}", job.JobType.Name, job.User.Username); 
} 

출력은 가 job.JobType을 간략한 사용 오류시의 null 참조

의 런타임 바인딩을 수행 할 수 있고 job.User 모두 null이지만 job.JobType_Id 및 job.User_Id 속성은 유효한 GUID 값을 갖습니다.

foreach 루프의 두 번째 반복에서 오류가 발생합니다. 모든 작업에는 현재 동일한 사용자 ID가 있지만 다른 작업 유형 ID가 있습니다. 각 테이블에서 ID가 올바른지 확인했습니다. 게으른 로딩 중에이 오류의 원인이 될 수있는 아이디어가 있습니까?

+0

어떤 Simple.Data 공급자를 사용하고 있습니까? SQL Server? 신탁? 등 – Hmobius

+0

SQL Server 공급자를 사용하고 있습니다. – RyanBrady

답변

0

MultipleActiveResultSets = true을 구성 파일에 추가하려고 했습니까?

+0

예. MVC 뷰에서 lazy loaded 속성을 참조 할 때 그렇게 할 필요는 없었습니다. 이 문제는이 콘솔 앱에서만 나에게 발생했습니다. – RyanBrady