현재 70-516 시험 (데이터 액세스)을위한자가 학습 키트를 읽고 있으며 Entity Framework에 대한 장을 읽었습니다.WCF를 사용하는 Entity Framework ObjectContext 수명주기
내가 ObjectContext에 대해 말하고 정리를 위해 IDisposable을 상속 한 시점에 있습니다. 이것은 연구 할 때 정확한 답을 얻을 수없는 몇 가지 질문을 제기했습니다. 나는 일이 어떻게 작동하는지 이해하려고 노력하고 있습니다.
시나리오 : 나는 WCF 리아와 엔티티 프레임 워크를 사용하여 Silverlight 응용 프로그램을 작성 MVVM 라이트 패턴을 사용했습니다 . EDMX를 만들었고 FamilyService라는 도메인 서비스를 만들었습니다.이 서비스는 Silverlight 응용 프로그램에서 FamilyContext로 사용합니다. FamilyMember 테이블에서 데이터를 반환하는 GetFamilyMembers라는 메서드를 만듭니다.
[EnableClientAccess()]
public partial class FamilyService : LinqToEntitiesDomainService<FamilyEntities>
{
public IQueryable<FamilyMember> GetFamilyMembers()
{
return this.ObjectContext.FamilyMembers;
}
}
내 ViewModel에서 구성 할 때 FamilyContext의 인스턴스를 만들고 null로 정리합니다.
1) FamilyContext 객체를 null로 설정하면 서버의 ObjectContext와 관련된 작업을 수행합니까? 도메인 서비스에서 수동으로 생성하거나 처리하지 않기 때문에이 질문을합니다.
2) Entity Framework에서 쿼리를 실행하면 데이터가 캐시된다는 것을 이해합니다. RIA 시나리오에서 클라이언트 응용 프로그램의 FamilyContext에 대한 데이터 캐시를 수행합니까? 아니면 여전히 서버의 ObjectContext에 있습니까? 내 응용 프로그램의 각 viewmodel이 ViewController의 자체 인스턴스를 만들고, ViewModels가 정리에 의해 밝아졌지만 캐싱을 여전히 활용할 수 있는지 궁금해하기 때문에 ObjectContext에 캐시가 저장되어 있는지 궁금합니다. 사전에
감사합니다.
'ObjectContext'를 만들거나 처리하지 않으시겠습니까? 어떻게 그렇게 될수 있니? –
수동으로 해달라고하지 않습니다. LinqToEntitiesDomainService 기본 클래스에서 가정합니다. 질문 업데이트하기 –