我想知道使用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();
}
和async扩展名:
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”,但是从我做过的测试来看,这种方法稍快一点
但是,有人可以帮助我找到更快的方法吗? 是否有设计模式?
谢谢