일부 구성 규칙에 따라 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에 대한 참조없이 가능합니까?
IoC 컨테이너를 재발 명하고있는 것처럼 들립니다. 대부분의 IoC 컨테이너는 수명 관리 구성을 허용합니다. –
나는 그것을 추가 하겠지만, 버그는 다중 문맥을 열 가능성이있다. 나는 실수를 저지르는 것을 알고 있습니다 ... 어쨌든 IoC가 적어도 당신의 솔루션에 너무 많으면 짧은 라이프 사이클 싱글 톤을 고려하십시오. –