2011-02-03 2 views
1

나는 객체의 그래프를 가지고있다.WCF 및 엔티티 프레임 워크 게으른로드

저는 클라이언트에게 학교 수업을 다시 보낼 수있는 방법으로 설정하고 싶습니다. 클래스와 학생을 게으른 방법으로 액세스 할 수 있습니다.

이 가능합니까?

답변

4

: 없음을.

다음 중 하나를 수행 할 수 있습니다 :

:

  • 은 단일 통화 ("열망로드")

나에 (당신의 school 엔티티와 classesstudents 포함) 필요한 모든 데이터를 다시 보내

  • 별도의 호출에서 세부 정보 데이터를 검색하려면 WCF 서비스에 별도의 메서드가 있어야합니다 (예 : 당신은 WCF를 사용하여 와이어를 통해 엔티티를 보낼 때 확실히 사실이 아니다 - List<Class> GetClassesForSchool(int schoolId), List<Student> GetStudentsForClass(int classId))

게으른 로딩은 그 자체 만 한 당신의 엔티티 프레임 워크의 개체 컨텍스트 주위에 아직도 더 많은 데이터를 조회 할 수로 작동합니다.

+1

+1 웹 서비스에서 암시 적으로 지연로드하는 것은 나쁜 아키텍처이며 달성하기 어렵습니다 (클라이언트 엔터티 속성에서 직접 구현해야 함). @marc에 기술 된 것을 수행하거나 탐색 속성을 명시 적으로로드하기 위해 Expand 메서드를 지원하는 WCF Data 서비스를 사용할 수 있습니다. –

1

귀하의 엔티티가 다른 티어로 이동 중이며 다른 티어에서 개입하지 않아도 데이터베이스 연결이있는 액세스가 불가능하기 때문에 그렇게 생각하지 않습니다.

맞춤 솔루션을 만들거나 올바른 정보 또는 일부보기에 쓸모가없는 데이터 전송 개체 만 사용해야합니다.

업데이트 : 당신은 DTO 패턴에 대한 자세한 내용을 원한다면 이 기사를 읽기 : 간단히