【发布时间】:2016-02-16 09:48:50
【问题描述】:
感谢收看。我有以下返回语句:
//Return the result set
return new FilterDto.FilterResult<Application>
{
Count = count,
Results = _results.ToList().AsParallel().Select(s => ConstructApplication(s))
};
调用如下方法:
public Application ConstructApplication(Application application)
{
var result = new Application
{
Id = application.Id,
Title = application.Title,
Icon = application.Icon
. . .
};
return result;
}
AsParallel() 调用抛出“底层提供程序未能打开”错误;当AsParallel() 与实体框架一起使用时,这个问题已经得到了很好的记录。
问题
由于我在AsEnumerable() 之前调用ToList(),我的集合不应该是线程安全的,因为它现在是内存中的集合吗?
【问题讨论】:
-
你能检查内部异常吗?因为代码似乎很好。从错误我认为连接字符串有问题。还可以尝试删除 AsParallel 并检查它是否正常工作。
-
@RohitHarkhani 谢谢,没有
AsParallel()位,代码运行良好。这是内部异常:“连接未关闭。连接的当前状态为正在连接。”
标签: c# entity-framework task-parallel-library plinq