程序中有多个DataTable ,为了使用Linq筛选数据本人想到定义Model类,类 的属性是表的列。然后将表中的每一行数据都作为List<Model>中的一个元素。可本人有多个表,同时定义了多个类。怎么样更有效的赋值呢?
目前想到的办法是通过一个泛型方法来进行赋值。LIst<T>和DataTable作为方法的参数,通过反射可以获取到T的属性。
不知道本人这个想法可不可行。或各位有更好的方法,希望能指点一下。谢谢大家。
目前想到的办法是通过一个泛型方法来进行赋值。LIst<T>和DataTable作为方法的参数,通过反射可以获取到T的属性。
不知道本人这个想法可不可行。或各位有更好的方法,希望能指点一下。谢谢大家。
解决方案
20
你这定义类的只是为了筛选?那就没必要定义类,直接用linq。例如:
var query = from t in dt.AsEnumerable() select new { id = t.Field<int>("id"), name = t.Field<string>("name") }; var list = query.ToList();