【发布时间】:2018-02-14 05:24:03
【问题描述】:
“System.InvalidOperationException”类型的异常发生在 EntityFramework.dll 但未在用户代码中处理
附加信息:模型在运行时不能使用上下文 正在创建。如果使用上下文,可能会抛出此异常 在 OnModelCreating 方法内,或者如果相同的上下文实例是 多个线程同时访问。请注意,实例成员 不保证 DbContext 和相关类是线程安全的。
IQueryable<VMPARForms> TempfilteredMember = filteredMember;
IQueryable<clsPARForms> parformslist = dbcontext.PARForms;
Parallel.ForEach(TempfilteredMember.Where(c => c.PARStatus == 21), item =>
{
var list = parformslist.Where(x => x.CaseNumber == item.CaseNumber && x.PARID != item.PARID).FirstOrDefault();
if (list != null)
{
item.PARStatus = list.PARStatus;
}
});
【问题讨论】:
-
你能解释一下你想要达到的目标吗?
-
当我使用 foreach() 时,大约需要 4 分钟,因为我有 1lack 记录,所以通过使用 parallel.foreach() 来减少执行时间
-
if the same context instance is accessed by multiple threads concurrently.你正在这样做。你不能这样做。不要使用Parallel.ForEach。
标签: c# parallel.foreach