尝试列出对象时System.ObjectDisposedException

时间:2015-10-19 12:17:50

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

尝试修复此错误

public ActionResult MyEvents()
{
    Personne personne = (Personne)Session["User"];
        personne.Evenements.ToList();
        return View(personne);

}

获得System.ObjectDisposedException且Evenements为null

使用Personne和Evenement之间的多对多关系,因此无法读取数据库中的连接表。

1 个答案:

答案 0 :(得分:0)

问题是int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND); 可能是使用延迟加载加载的(即在访问该属性之前不会检索)。

当您编写Web应用程序时,用于获取信息的连接通常在HTTP请求结束时关闭。

因此,当您在第二个请求中尝试访问Evenements属性时,连接已关闭。因此,你得到了Evenements

您可以使用ObjectDisposedException方法激活预先加载:http://www.entityframeworktutorial.net/EntityFramework4.3/eager-loading-with-dbcontext.aspx

这样就可以为以后的所有请求加载和存储该属性。