从SQLDataReader填充DataSet的最佳方法

And*_*rry 8 sql sqldatareader dataset

我正在开发一个异步获取DataReader的DAL.

我想编写一个方法将DataReader转换为DataSet.它需要处理不同的模式,以便这一个方法将处理我的所有提取需求.

PS我正在异步填充SQLDataReader,请不要给出摆脱DataReader的答案.

Pet*_*esz 14

DataTable.load()可用于通用方法.

do {
    var table = new DataTable();
    table.Load(reader);
    dataset.Tables.Add(table);
} while(!reader.IsClosed);
Run Code Online (Sandbox Code Playgroud)


Mat*_*ton 9

试试DataSet.Load().它有几个带IDataReader的重载.

  • 它需要string []或DataTable []作为第三个参数.有没有办法在不事先知道其架构的情况下填充最初没有表的空DataSet?看起来这个解决方案部分阻塞,因为DataSet.Load()不会利用SqlDataReader的ReadAsync()和NextResultAsync()方法 (2认同)