【发布时间】:2017-08-16 09:54:33
【问题描述】:
我是 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();
【问题讨论】:
标签: c# wpf entity-framework