我试图对我的实体运行不跟踪查询,以便可以在上下文外部进行更新。但是,当no跟踪不起作用并且出现异常时,
“ ObjectContext实例已被处置,不能再用于需要连接的操作。”
这个异常是由一个属性抛出的,就数据库模型而言,该属性是单独表的外键,我是否还需要以某种方式为此单独的实体设置notracking?
我的代码是:
List<EmailQueue> result = null;
using (Entities context = new Entities())
{
var emailQueueQuery = context.EmailQueues;
emailQueueQuery.MergeOption = System.Data.Objects.MergeOption.NoTracking;
result = emailQueueQuery.Execute(System.Data.Objects.MergeOption.NoTracking).ToList<EmailQueue>();
}
return result;
最佳答案
我的疯狂猜测是您打开了延迟加载功能?
如果处置ObjectContext
,则延迟加载将无法进行。
关于asp.net - Entity Framework NoTracking不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3989053/