2011-12-22 2 views
1

리포지토리 및 작업 단위 패턴을 사용하도록 기존 EF 4.2 프로젝트를 마이그레이션하려고합니다. 많은 사람들의 샘플에서 나는 저장소에서 DbSet 콜렉션을 사용하는 것을 본다. 그러나 나에게 이것은 Include()와 같은 것을 사용할 수 없기 때문에 제한적으로 보인다. 그런 다음 DataContext를 사용하는 다른 샘플이 있습니다 (예 : http://www.efekaptan.com/repository-pattern-with-entity-framework-code-first-4.1).EF4, CodeFirst 및 리포지토리 패턴 - DbSet과 DataContext 사용의 차이점

그래서 ... DataContext를 사용하고 싶지 않은 이유가 무엇입니까?

답변

0

IncludeDbSet<T>을 사용할 수 있습니다. DbContext을 저장소에서 참조해야합니다 (생성자를 통해 저장소 인스턴스에 전달). 고급 조작에 필요하기 때문에 참조하십시오. DbSet<T>에 대한 참조 저장은 액세스 할 때마다 Set<T>()을 컨텍스트에서 호출하는 것을 피하기위한 단순화/최적화입니다.

당신은이 작업 단위에 갈 것 때문에 연결된 질문을 가리 켰을 때, 저장소 구현 (문맥의 인스턴스를 만들 수 없습니다.

관련 문제