SqlDataReader vs SqlDataAdapter: ¿cuál tiene el mejor rendimiento para devolver un DataTable?
Quiero saber cuál tiene el mejor rendimiento para devolver unDataTable
. Aquí porSqlDataReader
yo sueloDataTable.Load(dr)
UtilizandoSqlDataReader
:
public static DataTable populateUsingDataReader(string myQuery)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(constring))
{
SqlCommand cmd = new SqlCommand(myQuery, con);
con.Open();
SqlDataReader dr = null;
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (dr.HasRows)
{
dt.Load(dr);
}
return dt;
}
}
utilizandoSqlDataAdapter
:
public DataTable populateUsingDataAdapter(string myQuery)
{
SqlDataAdapter dap = new SqlDataAdapter(myQuery,cn);
DataSet ds = new DataSet();
dap.Fill(ds);
return ds.Tables[0];
}