1

일부 구성 규칙에 따라 ObjectContext가 자동으로 생성되는 구성 요소 팩토리 시스템에서 작업하고 있습니다. 메서드가 호출 될 때마다 구성 요소 팩토리는 ObjectContext/Transaction 범위 등을 만들 위치를 결정합니다.다른 ObjectContext 내의 ObjectContext

대부분의 경우 ObjectContext 생성 및 처리를 처리 할 수있었습니다. 그러나 메서드가 반복적으로 자신을 호출하면 메서드가 호출 될 때마다 ObjectContext가 생성됩니다. 다음과 같이됩니다 :

using (MyEntities entitityContext = new MyEntities()) 
{ 
    // do some code here 
    entitityContext.SaveChanges(); 

    using (MyEntities anotherEntitityContext = new MyEntities()) 
    { 
     // do some other code here 
     anotherEntitityContext.SaveChanges(); 
    } 
} 

EntityFramework는 어떻게 처리합니까? 두 번째 ObjectContext는 첫 번째 ObjectContext와 동일합니까? 그렇지 않다면 어떻게 두 번째 ObjectContext를 동일한 ''새로운 ObjectContext() ''구조로 첫 번째 ObjectContext에 대한 "동일한"참조로 관리 할 수 ​​있습니까?

정렬 된 TransactionScopes가 트랜잭션 구성에 따라 순서대로 서로 조인된다는 것을 알고 있습니다. ObjectContext가 동일한 동작을 원한다. 부모 ObjectContext에 대한 참조없이 가능합니까?

+1

IoC 컨테이너를 재발 명하고있는 것처럼 들립니다. 대부분의 IoC 컨테이너는 수명 관리 구성을 허용합니다. –

+1

나는 그것을 추가 하겠지만, 버그는 다중 문맥을 열 가능성이있다. 나는 실수를 저지르는 것을 알고 있습니다 ... 어쨌든 IoC가 적어도 당신의 솔루션에 너무 많으면 짧은 라이프 사이클 싱글 톤을 고려하십시오. –

답변

0

Phil Soady가 ​​정확하다는 것을 알았습니다. 여러 객체를 만들 필요없이 ObjectContexts를 사용하는 또 다른 방법을 찾았습니다. 귀하의 의견에 감사드립니다.