2011-03-18 74 views
6

是否有可能用DataTable的内容填充实体?从datatable到实体

+0

都能跟得上。通过DataTable的AFAIK循环将是唯一的选择 – gideon 2011-03-18 17:11:49

+0

嗯也许有更好的办法。我正在阅读一个电子数据表到一个dataTable中,然后想用它来填充一个SQL实体。我正在讨论这个错误? – Brian 2011-03-18 17:18:33

+0

@Brian将电子表格直接读入SQL实体? – gideon 2011-03-18 17:20:56

回答

9

我不确定这正是你正在寻找的东西,但它应该工作;有一个.AsEnumerable()扩展方法,然后您可以使用该方法将行投影到一个新实体中。

var products = productTable.AsEnumerable().Select(row => new Product 
{ 
    ProductID = row.Field<int>("ProductID"), 
    Name = row.Field<string>("Name"), 
    CreatedDate = row.Field<DateTime>("CreatedDate") 
}); 

据我所知.Field<T>()方法不执行任何类型的转换,如果列有没有设置你需要自己做转换的类型。