나는 객체의 그래프를 가지고있다.WCF 및 엔티티 프레임 워크 게으른로드
저는 클라이언트에게 학교 수업을 다시 보낼 수있는 방법으로 설정하고 싶습니다. 클래스와 학생을 게으른 방법으로 액세스 할 수 있습니다.
이 가능합니까?
나는 객체의 그래프를 가지고있다.WCF 및 엔티티 프레임 워크 게으른로드
저는 클라이언트에게 학교 수업을 다시 보낼 수있는 방법으로 설정하고 싶습니다. 클래스와 학생을 게으른 방법으로 액세스 할 수 있습니다.
이 가능합니까?
: 없음을.
다음 중 하나를 수행 할 수 있습니다 :
:나에 (당신의 school
엔티티와 classes
및 students
포함) 필요한 모든 데이터를 다시 보내
List<Class> GetClassesForSchool(int schoolId)
, List<Student> GetStudentsForClass(int classId)
)게으른 로딩은 그 자체 만 한 당신의 엔티티 프레임 워크의 개체 컨텍스트 주위에 아직도 더 많은 데이터를 조회 할 수로 작동합니다.
귀하의 엔티티가 다른 티어로 이동 중이며 다른 티어에서 개입하지 않아도 데이터베이스 연결이있는 액세스가 불가능하기 때문에 그렇게 생각하지 않습니다.
맞춤 솔루션을 만들거나 올바른 정보 또는 일부보기에 쓸모가없는 데이터 전송 개체 만 사용해야합니다.
업데이트 : 당신은 DTO 패턴에 대한 자세한 내용을 원한다면 이 기사를 읽기 : 간단히
+1 웹 서비스에서 암시 적으로 지연로드하는 것은 나쁜 아키텍처이며 달성하기 어렵습니다 (클라이언트 엔터티 속성에서 직접 구현해야 함). @marc에 기술 된 것을 수행하거나 탐색 속성을 명시 적으로로드하기 위해 Expand 메서드를 지원하는 WCF Data 서비스를 사용할 수 있습니다. –