Я работаю над системой фабрики компонентов, где ObjectContexts создаются автоматически в зависимости от некоторых правил конфигурации. Каждый раз, когда вызывается метод, фабрика компонентов решает, где создать область ObjectContext/Transaction и т. д.
В большинстве случаев мне удавалось справляться с созданием и удалением 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 был «той же» ссылкой на первый с той же конструкцией «new ObjectContext()»?
Я знаю, что выровненные TransactionScopes соединяются друг с другом в последовательности, в зависимости от конфигураций транзакций. Я хочу, чтобы ObjectContext имел такое же поведение. Возможно ли это без ссылки на родительский ObjectContext?