在WebForm ASP.NET中配置实体DbContext

时间:2013-05-14 09:30:48

标签: c# asp.net entity-framework entity-framework-5

我使用1个类来为我的网页提供数据。由于我改为2级,我得到了错误

The operation cannot be completed because the DbContext has been disposed.

我的两个类派生自数据库     公共类SezonB:数据库     公共课Siatkowka:数据库

没有自己的concstructor(默认情况下是调用默认构造函数)

我不知道为什么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接口后,每个工作。

0 个答案:

没有答案