表到json错误-已释放DbContext

表到json错误-已释放DbContext,json,asp.net-mvc,entity-framework,Json,Asp.net Mvc,Entity Framework,由于某种原因,我的DBContext无法工作,我在控制器上执行了一个非常简单的操作,我收到了这个错误操作无法完成,因为DBContext已被释放。 下面是我的简单代码,(.toList()仅用于调试,以确认正在读取的数据,我有一个包含102个元素的列表。) 这是我的时区模型 [Table("timeZones")] public class timeZone { [Key] public String Id { get; set; } public String Bas

由于某种原因,我的DBContext无法工作,我在控制器上执行了一个非常简单的操作,我收到了这个错误
操作无法完成,因为DBContext已被释放。

下面是我的简单代码,(.toList()仅用于调试,以确认正在读取的数据,我有一个包含102个元素的列表。)

这是我的时区模型

 [Table("timeZones")]
public class timeZone
{
    [Key]
    public String Id { get; set; }
    public String BaseUtcOffset { get; set; }
    public String DisplayName { get; set; }
    public Double tzOffset { get; set; }
}

您可能启用了延迟加载和代理生成,并且您的
TimeZone
对象中有导航属性。当序列化程序尝试加载依赖项时,上下文已经被释放,这就是为什么会出现异常

尝试在您的上下文中禁用延迟加载和代理生成

dc.Configuration.LazyLoadingEnabled=false;
dc.Configuration.ProxyCreationEnabled=false;
编辑:
尝试返回
时间
而不是
时区
times
是一个
IQueryable
,它也仅在序列化程序尝试返回它时才进行计算,但此时您的上下文可能会通过它进行计算,已被释放。

这是因为您在JSON响应中使用了
times
,它可能是
DbSet
或类似的
IQueryable
对象。您需要在执行数据库查询的JSON响应中使用
timelist

我不认为是这种情况,我已经编辑了帖子来添加我的模型。我认为我们在这种情况下也有类似的问题。我没注意到你还回了一份可交换的,很抱歉。查看编辑了解详细信息。我不知道Dbset无法返回,谢谢
dc.Configuration.LazyLoadingEnabled=false;
dc.Configuration.ProxyCreationEnabled=false;