1

Я работаю над фабричной системой компонентов, где ObjectContexts автоматически создаются в зависимости от некоторых правил конфигурации. Каждый раз, когда вызывается метод, фабрика компонентов решает, где создать область ObjectContext/Transaction и т. Д.ObjectContext внутри другого объекта ObjectContext

В большинстве случаев мне удалось обрабатывать ObjectContext и удалять его. Но когда метод recursivelly вызывает себя, я создаю 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()»?

Я знаю, что на выровненных TransactionScopes соединяются друг с другом в последовательности, в зависимости от конфигураций транзакций. Я хочу, чтобы ObjectContext имел такое же поведение. Возможно ли это без ссылки на родительский объект ObjectContext?

+1

Похоже, вы изобретаете контейнеры IoC. Большинство контейнеров IoC позволяют конфигурировать управление продолжительностью жизни. –

+1

Я бы добавил, что это нормально, но вероятность того, что ошибки откроют несколько контекстов. Я знаю, что сделал ошибку ... в любом случае, если IoC слишком много для вашего решения, по крайней мере, подумайте о коротком жизненном цикле singleton. –

ответ

0

Я узнал, что Фил Соуди верен. Я нашел другой способ использования ObjectContext без создания нескольких объектов. Спасибо за ваши комментарии.

Смежные вопросы