0

我正在使用 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 接口后,一切正常。

4

0 回答 0