c# - InvalidOperationException:连接未关闭。连接的当前状态是正在连接
问题描述
我使用 Codesmith 编写了以下代码(类似于实体框架)。我在代码之后收到下面提到的异常。而且我不会每次都得到这个例外。此应用程序是 WPF 和多线程的。
public Dictionary<string, string> GetDelimiterOfAnalyser()
{
Dictionary<string, string> delimiters = new Dictionary<string, string>();
try
{
foreach (var delimiter in dataContext.DataSource.Where(a => a.TypeId == 1).ToList())
{
if (!delimiters.ContainsKey(delimiter.Name))
{
delimiters.Add(delimiter.Name, delimiter.Delimiter.Value);
}
}
}
catch (Exception ex)
{
logger.Error("Error in GetDelimiterOfAnalyser. Ex: " + ex);
}
return delimiters;
}
我收到此错误:
2018-07-08 11:41:32.4889 ERROR : Error in GetDelimiterOfAnalyser. Ex: System.InvalidOperationException: The connection was not closed. The connection's current state is connecting.
at System.Data.ProviderBase.DbConnectionClosedConnecting.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
at System.Data.Linq.SqlClient.SqlProvider.CompiledQuery.Execute(IProvider provider, Object[] arguments)
at System.Data.Linq.CommonDataServices.DeferredSourceFactory`1.ExecuteKeyQuery(Object[] keyValues)
at System.Data.Linq.CommonDataServices.DeferredSourceFactory`1.Execute(Object instance)
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
at System.Data.Linq.EntityRef`1.get_Entity()
at ReconConfig.Data.DataSource.get_Delimiter() in C:\Users\*\OHS.Reconn.DataAccessLayer\Entities\DataSource.Generated.cs:line 407
解决方案
推荐阅读
- ruby-on-rails - 我们如何在 docker 环境中安全地使用 rails 和 better_errors?
- python - 使用 python 3 调用 asmx 邮件服务 GET/POST
- python - 在 seaborn barplot 上绘制时,列的值总和不同
- android - 在触摸时沿路径移动对象
- pandas - 如何将熊猫日期时间对象转换为没有索引的字符串
- vb.net - 如何在monodevel的linux中编译VB.net?
- java - web.xml struts 过滤器导致服务器启动错误
- swift - 是否可以在没有平面检测的情况下放置带有碰撞测试的物体?
- c - 计算矩阵逆的问题
- c# - 如何在datagrid中显示xml文件现有内容,并可以编辑和保存