2012-05-01 2 views
0

비즈니스 논리 계층에는 8 단계의 프로세스가 있습니다. 그리고 DAL에서 EntiyFrameWork 코드 첫 번째 접근 방식을 사용하고 있습니다. 나는 DBContaions를해야하는 모든 메소드에서 (var context = new MyContainer를 사용하여) DBContext를 상속하는 Container의 객체를 만들었습니다. 성능 부분에 대해서는 내가 객체를 만들 때 시간이 걸리는 것을 보았습니다. Bll에서 해당 컨테이너의 Object를 한 번 (프로세스 시작시) 만들고 모든 메소드에 매개 변수로 전달하고 모든 8 단계를 완료 한 후 프로세스의 끝에서 해당 객체를 처리 할 수 ​​있습니까? 어떤 도움이 고도로 appericiated 것입니다.EntityFramework의 DbContext 개체

+0

어떻게 할 수 있습니까? 사실 나는 stackoverflow에 새로운입니다. – ethicallogics

+0

컨텍스트를 전달하는 것은 실행 가능한 솔루션처럼 들립니다. –

답변

2

예, 이어야합니다.은 작업 단위당 정확히 하나의 ObjectContext을 작성해야합니다.

OC를 단계에 전달하거나 필요한 부분 만 전달할 수 있습니다.

public class Step4 
{ 
    public Step4(IQueryable<Foo> foos) 
    { 
     // ... 

을 ... 다음을 수행하십시오 : 당신은 단지 몇 가지 단계 MyEntities.Foos를 조회해야하는 경우, 예를 들어, 당신은 할 수

var step4Result = new Step4(context.Foos).Execute(); 

이 전체 컨텍스트를 전달하는 대신 테스트하기 쉬울 것입니다.