나는 ef 4 모델을 가지고 있으며 자체 추적 엔티티를 사용하고 있습니다. 이 모델에는 Organization이라는 엔티티가 있습니다. 각 조직은 많은 위치 (주소)를 가질 수 있습니다. 나는 따라서, (그래서 그것을 삭제할 수 있습니다) 하나의 위치를 선택하려고하면 :자식 엔티티에 대해 여러 개의 열린 데이터 리더가있는 Erorr
var location = _container.Locations.FirstOrDefault(l => l.Id == id);
을 나는 그래서 다른 열 어차피 공개 데이터 판독기가 이미 존재한다는 erorr를 얻을. 다음 작업을 수행 할 경우 :
var location = _container.Locations.Include("Organisation").FirstOrDefault(l => l.Id == id);
그러면 모두 정상적으로 작동합니다.
Intellitrace를 사용하여 실패한 쿼리에서 ADO 명령을 실행하여 위치를 얻은 다음 위치와 조직을 가져 오는 또 다른 명령을 실행하는 것을 볼 수 있습니다.
이것은 selftracking 엔티티에 대해 다르게 수행해야하는 버그입니까?
건배
이미 MARS를 사용할 수 있습니다. 임 하나의 linq 쿼리를 사용하여 - 기본 구현은 두 번째 SQL 쿼리를하고 그래서 나는 이것이 여전히 버그라고 생각합니다. 나는 간단한 해결 방법을 가지고 있으므로 귀찮게는하지 않는다. – Jonesie