【问题标题】:Convert System.Data.Entity.DynamicProxies to (non proxy) class in C#将 System.Data.Entity.DynamicProxies 转换为 C# 中的(非代理)类
【发布时间】:2015-12-22 00:44:55
【问题描述】:

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

//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."

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

编辑:错误的快速屏幕抓取:

【问题讨论】:

标签: c# database entity-framework dynamic-proxy


【解决方案1】:

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

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

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(); 
}

【讨论】:

    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多