C# SQL Server和Parallel.ForEach表创建

C# SQL Server和Parallel.ForEach表创建,c#,sql-server,task-parallel-library,create-table,parallel.foreach,C#,Sql Server,Task Parallel Library,Create Table,Parallel.foreach,我正在试验C#和SQL Server数据库连接和表创建中的Parallel.ForEach。大体上,尝试使用Parallel.ForEach创建大量表。虽然代码正在运行,但我注意到数据泄漏,因为并非所有表都是创建的。我正在从Microsoft.data.Analysis数据框读取数据,该数据框是IEnumerable。因此,我想问一下如何使用SQL连接性和命令运行Parallel.ForEach,以便在同一数据库的并行线程上运行多个不同的表创建,并同时创建多个表,但要确保所有表都已创建。我不是C

我正在试验C#和SQL Server数据库连接和表创建中的Parallel.ForEach。大体上,尝试使用Parallel.ForEach创建大量表。虽然代码正在运行,但我注意到数据泄漏,因为并非所有表都是创建的。我正在从Microsoft.data.Analysis数据框读取数据,该数据框是IEnumerable。因此,我想问一下如何使用SQL连接性和命令运行Parallel.ForEach,以便在同一数据库的并行线程上运行多个不同的表创建,并同时创建多个表,但要确保所有表都已创建。我不是C#的资深用户,因此提前感谢您的帮助

这里还有一些代码,很抱歉格式错误(第一次…)

Task Task\u 111=Task.Factory.StartNew(()=>
{    
Parallel.ForEach(列表,iter=>
{ 
使用(var myConn=new SqlConnection())
DataFrame LoadExample=DataFrame.LoadCsv();
{
// ......
{
字符串sql=//创建表
{
使用(var command=new SqlCommand())
{ 
命令_2.Connection=myConn;
command_2.CommandText=sql;
myConn.Open();
命令_2.ExecuteNonQuery();
myConn.Close();
}
.......

显示您的实际代码很有帮助,这样我们就可以看到您是否做错了什么。您只需要正确的异常处理。即不要捕获和“吃”异常,请参阅:@DavidBrowne Microsoft我可以将Microsoft.Data.Analysis DataFrame类与Parallel.ForEach一起使用吗?现在我还将附加一些代码…感谢Lolop…很抱歉格式不正确,我将尝试在每次迭代中做得更好。摆脱外部任务,只运行Parallel.ForEach。如果有任何错误,您应该会得到异常@DavidBrowne-Microsoft发布评论时,问题中没有代码
Task task_111 = Task.Factory.StartNew(() =>
{    
   Parallel.ForEach<string>(list, iter =>
   { 
       using (var myConn=new SqlConnection())
       DataFrame LoadExample = DataFrame.LoadCsv();
       {
         // ......
         {
           string sql= // create table
           {
              using (var command=new SqlCommand())
              { 
                command_2.Connection = myConn;
                command_2.CommandText = sql;
                myConn.Open();
                command_2.ExecuteNonQuery();
                myConn.Close();
              }
             .......