无法弄清楚为什么这个代码导致线程没有错误退出或者为连接字符串使用不存在的服务器(试图处理该情况)时抛出异常。它也会导致主线程退出,因为这是在Windows服务中。
DbContext dbContext = new DbContext(ConnectionString());
var databases = dbContext.Database.SqlQuery<string>(queryStr);
foreach (var database in databases) //<- dies here
{
//other code
}