【发布时间】:2015-03-19 23:14:33
【问题描述】:
我在构造函数中打开连接。 考虑这段代码:
public abstract class DataContext : DbContext, IDataContext
{
static DataContext()
{
if (DataContextConfiguration.UseSafePersian)
{
DbInterception.Add(new SafePersianInterceptor());
}
}
private readonly bool _saveChangesOnModify = false;
protected DataContext(string nameOrConnectionString)
: base(nameOrConnectionString)
{
this.OpenConnection();
}
internal void OpenConnection()
{
if (((IObjectContextAdapter)this).ObjectContext.Connection.State != ConnectionState.Open)
((IObjectContextAdapter)this).ObjectContext.Connection.Open();
}
}
当我明确打开连接时是否应该关闭连接?
我使用Entity Framework 版本 6。
更新
我收到了这个错误,而且它经常发生:
超时。在获得一个之前的超时时间 来自池的连接。这可能是因为所有汇集的 正在使用连接并且已达到最大池大小。
【问题讨论】:
-
我们不知道这个方法在哪个类,所以这个问题暂时无法回答。
base是什么? -
@spender,我认为它会覆盖
DbContext -
@haim770 假设就像猜测。
-
@spender 我更新了我的问题
-
@spender,在这种情况下是正确的猜测(-:
标签: c# entity-framework entity-framework-6