我创建了一个上下文然后使用Parallel.ForEach(...)我同时执行多个EF查询。
我一直在遇到'连接没有关闭。连接的当前状态是连接。和其他例外情况。
我这是因为我的应用程序的线程性质?您是否可以同时使用单一上下文来简单阅读?
答案 0 :(得分:3)
Object context不是线程安全的,因此您可能不想在多线程场景中使用Parrallel.Foreach
但是,您可以在启用MARS的同一连接上执行多个查询,例如
foreach (var employee in context.employees.where(...))
{
var department = employee.departments.FirstOrDefault(...);
}
但是,您需要了解性能。