C# 将datatable转换为datareader

C# 将datatable转换为datareader,c#,ado.net,C#,Ado.net,为了提高性能,我想将datatable转换为datareader。我不能通过询问来做到这一点。那么,还有其他方法可以做到这一点吗?例如 公共数据表转换器DataReaderToDataTable(SqlDataReader dataReader) { DataTable=新的DataTable(); DataTable schemaTable=dataReader.GetSchemaTable(); 尝试 { foreach(schemaTable.Rows中的DataRow myRow) {

为了提高性能,我想将datatable转换为datareader。我不能通过询问来做到这一点。那么,还有其他方法可以做到这一点吗?

例如

公共数据表转换器DataReaderToDataTable(SqlDataReader dataReader) { DataTable=新的DataTable(); DataTable schemaTable=dataReader.GetSchemaTable(); 尝试 { foreach(schemaTable.Rows中的DataRow myRow) { DataColumn myDataColumn=新建DataColumn(); myDataColumn.DataType=myRow.GetType(); myDataColumn.ColumnName=myRow[0].ToString(); datatable.Columns.Add(myDataColumn); } while(dataReader.Read()) { DataRow myDataRow=datatable.NewRow(); for(int i=0;i
公共数据表GetTable(IDataReader\u阅读器)
{
DataTable dataTable1=_reader.GetSchemaTable();
DataTable dataTable2=新的DataTable();
string[]arrayList=新字符串[dataTable1.Rows.Count];
对于(int i=0;i
我知道这很古老,但这里的答案似乎没有抓住OPs问题的重点

DataTables有一个名为的方法,该方法允许您将DataTable转换为对象。在这种情况下,一个

我应该指出,这不会提高性能,因为您应该使用其中一种

以下是关于这个问题的更多资源:


使用数据表构造函数

DataTable table = new DataTable(); 
//Fill table with data 
DataTableReader reader = new DataTableReader(table);
好看

仅供参考,DataTable.Loan(DataReader)可以做到这一点,甚至更多。尤其是当读者是用KeyInfo创建的时候。
DataTable table = new DataTable(); 
//Fill table with data 
DataTableReader reader = new DataTableReader(table);