我想知道用 DataTable 数据填充对象列表的最快和最佳实践方法是什么
目前我正在使用这种方法:
物体:
public class Car
{
public int CarId { get; set; }
public string CarName { get; set; }
public Car(DataRow row)
{
if (row != null)
{
this.CarId = Convert.ToInt32(row["car_id"]);
this.CarName = row["car_name"].ToString();
}
}
}
转换:
public List<Car> GetCars(DataTable carTable)
{
return carTable.Select().SelectAsync(c => new Car(c)).ToList();
}
和异步扩展:
public static IEnumerable<S> SelectAsync<T, S>(this IEnumerable<T> query, Func<T, S> expression)
{
TaskFactory<S> tasks = new TaskFactory<S>();
foreach (var item in query)
{
yield return tasks.StartNew(() => expression(item)).Result;
}
}
我知道我可以使用“AsParallel”,但从我所做的测试来看,这种方法稍微快一些
但是,有人可以帮我找到更快的方法吗?有没有设计模式?
谢谢