1

我想知道用 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”,但从我所做的测试来看,这种方法稍微快一些

但是,有人可以帮我找到更快的方法吗?有没有设计模式?

谢谢

4

0 回答 0