So we have had a heated debate at work as to which DataAccess route to take: DataTable or DataReader.
DISCLAIMER I am on the DataReader side and the
I don't think it will account for all the difference, but try something like this to eliminate some of the extra variables and function calls:
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
artifactList.Add(new ArtifactString
{
FormNumber = reader["FormNumber"].ToString(),
//etc
});
}
}