C# 分离objectcontext后丢失包含的实体

C# 分离objectcontext后丢失包含的实体,c#,wpf,wcf,entity-framework-4,C#,Wpf,Wcf,Entity Framework 4,考虑驻留在服务(WCF)中的以下代码: 我希望在WPF环境中访问LinkedTable属性,并希望(或有?)分离上下文。 在分离上下文(result.foreach…)之前,我可以将LinkedTable作为表的属性“查看”。 分离上下文后,表的LinkedTable属性为null 如何防止这种行为 PaulDetach还会在关系管理器中卸载条目的相关端 如果通过关闭“预先跟踪”来消除分离的需要,则会有所帮助。无论如何,这是一个改进,因为它消除了附加/分离的开销 using (var conte

考虑驻留在服务(WCF)中的以下代码:

我希望在WPF环境中访问LinkedTable属性,并希望(或有?)分离上下文。 在分离上下文(result.foreach…)之前,我可以将LinkedTable作为表的属性“查看”。 分离上下文后,表的LinkedTable属性为null

如何防止这种行为


Paul

Detach
还会在关系管理器中卸载条目的相关端

如果通过关闭“预先跟踪”来消除分离的需要,则会有所帮助。无论如何,这是一个改进,因为它消除了附加/分离的开销

using (var context = new ctxEntities())
{
    context.MyTable.MergeOption = MergeOption.NoTracking;
    var result = context.MyTable.Include("LinkedTable")
                       .Where(c => c.RepairID == repairID).ToList();
    return result;
}
这有用吗

using(var context = new ctxEntities()){
    context.Configuration.ProxyCreationEnabled = false;
    context.Configuration.LazyLoadingEnabled = false;
    //....

它是关于
ObjectContext
,而不是
DbContext
ツ感谢@Gert,我在serviceClient.Completed事件中实现了NoTracking选项results(我使用异步WCF方法获取数据)this.sc.Completed+=(s,e)0>{this.rep=e.Result};连接已关闭的错误…我不明白设置
NoTracking
如何导致此错误。设置和查询执行之间不发生任何异步。
using(var context = new ctxEntities()){
    context.Configuration.ProxyCreationEnabled = false;
    context.Configuration.LazyLoadingEnabled = false;
    //....