我正在使用 1 类为我的网页提供数据。由于我改为 2 类我得到了错误
The operation cannot be completed because the DbContext has been disposed.
我的两个类派生自数据库公共类 SezonB:数据库公共类 Siatkowka:数据库
没有自己的构造函数(默认调用默认构造函数)
我不知道为什么 1 个类派生自另一个实例的另一个 instanceDispose DbContext。加载 PobierzRanking() 后关闭 DbContext 以获取 PobierzSezony()
这是我的课。
我创建数据库实例的基类
public abstract class Database : IDisposable
{
#region Fields
/// <summary>
/// Tutaj jest przechowywana lokalna baza danych
/// </summary>
protected PabLeweEntities Plentities;
#endregion // Fields
#region Constructor
protected Database()
{
Plentities = new PabLeweEntities();
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (disposing)
if (Plentities != null)
{
Plentities.Dispose();
Plentities = null;
}
}
~Database()
{
Dispose(false);
}
#endregion // Construtor
}
网站上有 3 个 ObjectDataSource
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="PobierzRanking"
TypeName="PlazowkaLewe.Model.Siatkowka">
<SelectParameters>
<asp:Parameter Name="sortExpression" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource6" runat="server" SelectMethod="PobierzSezony"
TypeName="PlazowkaLewe.Model.SezonB">
<SelectParameters>
<asp:Parameter Name="sortExpression" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="PobierzTurnieje"
TypeName="PlazowkaLewe.Model.Siatkowka">
<SelectParameters>
<asp:Parameter Name="sortExpression" Type="String" />
<asp:SessionParameter Name="idTurnieju" SessionField="id_turnieju2" Type="Int32"/>
</SelectParameters>
</asp:ObjectDataSource>
在我删除 IDisposable 接口后,一切正常。