在 C# 中将 System.Data.Entity.DynamicProxies 转换为(非代理)class

Convert System.Data.Entity.DynamicProxies to (non proxy) class in C#

我正在从数据库中获取一些数据并将其存储在全局变量中,如下所示:

//Global Variable
public static List<stuff> Stuff;

using (var context = new StuffContext()) 
{ 
    stuff = new List<stuff>();
    stuff = (from r in context.Stuff
                select r).ToList(); 
}

我遇到的问题是上下文关闭,当我想访问存储在全局变量中的某些数据时,我不能。

数据是 System.Data.Entity.DynamicProxies.Stuff 而不是 Application.Model.Stuff 这意味着当我尝试对数据执行某些操作时收到此错误:

"The ObjectContext instance has been disposed and can no longer be used for operations that require a connection."

我的问题是,以上面的代码为例,我如何才能转换/转换为我想要的类型,以便我可以在我的应用程序中的其他地方使用数据?

编辑:错误的快速屏幕截图:

解决方案毕竟是延迟加载造成的。

我必须告诉查询获取所有内容,以便在上下文关闭时我仍然可以访问数据。 这是我必须做出的改变:

public static List<stuff> Stuff;

using (var context = new StuffContext()) 
{ 
    stuff = new List<stuff>();
    stuff = (from r in context.Stuff
            .Include(s => s.MoreStuff).Include(s => s.EvenMoreStuff)
            select r).ToList(); 
}

尝试在您的项目 BbContext 构造函数中禁用 ProxyCreationEnabled,如下所示:

Configuration.ProxyCreationEnabled = false;