Tag: 异步数据表

SqlDataAdapter.Fill – 异步方法

使用C#/ .NET 3.5。 目前我正在使用SqlDataAdapter.Fill()依次填充2个DataTable。 我希望并行地填充这两个DataTable,同时异步地执行每个DataTable。 但是,没有Fill()方法的异步版本 – 即BeginFill()会很棒! 我尝试过的一种方法是(伪): SqlCommand1.BeginExecuteReader //第一个查询,用于DataTable1 SqlCommand2.BeginExecuteReader //第二个查询,用于DataTable2 SqlCommand1.EndExecuteReader SqlCommand2.EndExecuteReader DataTable1.Load(DataReader1) DataTable2.Load(DataReader2) 但是,DataTable.Load()需要很长时间: 执行步骤1到步骤4需要3秒钟。 然后步骤5需要22秒。 第6步需要17秒。 因此,步骤5和6合并39秒。 最终的结果是,这使我没有任何好处而只是一个接一个地做2个SqlDataAdapter.Fills。 我希望最终结果是整个过程只需要最长的查询(或尽可能接近)。 寻找推荐的方法,最终得到一些真正的异步方法来填充DataTable。 或者我自己管理它并滚动2个单独的线程,每个线程填充一个DataTable?