Я новичок в EF, и в первый раз мне нужно выполнить несколько запросов одновременно, скажем, у меня есть мои BLL и DAL, сгенерированные EF, у меня также есть viewModel, на BLL я ссылаясь на DAL и получая данные следующим образом:
public Decimal getPrice()
{
Decimal x = 0;
siliconContext = new DAL.Entities();
var result = from d in siliconContext.SILICONs
select d.MIN_PRICE;
foreach (Decimal d in result)
{
x = d;
}
return x;
}
все хорошо, в viewModel я использую только две строчки кода:
Silicon sil = new Silicon();
Price = sil.getPrice();
Я предполагал, что Контекст будет обрабатывать соединение, открывать соединение, делать что-то и затем закрывать его, но теперь я нахожусь в ситуации, когда в моей модели ViewModel я буду ссылаться на два BLL, которые они будут ссылаться на два DAL и конечно два разных контекста в одном и том же методе, кто будет этим управлять? EF 4 достаточно умен, чтобы открыть только одно соединение и позволить двум или более контекстам выполнить свою работу, а затем закрыть соединение? Вот пример того, как моя viewModel будет выглядеть
Silicon sil = new Silicon();
Price = sil.getPrice();
Glass gl = new Glass();
GlassPrice = gl.getPrice();