假设我有以下类Customer.cs、上下文OfficeContext.cs和存储库OfficeRepository.cs。知道上下文使用连接对象,因此建议将其包含在using语句中:
public List<Customer> GetAllCustomersWithOrders()
{
using(var oContext = new OfficeContext())
{
//Code here....
}
}
我的问题是,如果我想重用存储库中已经存在的一些代码怎么办?例如,如果我想显示所有订购产品但尚未收到产品的客户,我需要复制代码吗?
public List<Customer> GetCustomersNotReceiveProducts()
{
using(var oContext = new OfficeContext())
{
//Re-use GetAllCustomersWithOrders() here???...
}
}
但是正如你所看到的,每次访问一个方法时,我也会打开实例化一个新的上下文对象。有什么办法可以处理吗?