2013-12-20 77 views
0

如何實現下面這個數據表到一個通用列表轉換?LINQ:數據表到列表

我想這一點:

List<Emp> lstEmp= new List<Emp>(from prod in MyDatatable.AsEnumerable<Emp>() select prod); 
+0

[怎樣把一個DataTable成通用的清單?](http://stackoverflow.com/問題/ 208532 /你怎麼做 - 轉換成數據表進入一個通用列表) –

+0

向我們展示'Emp'... –

+0

@huMptyduMpty:但Jon Skeets答案不回答這個問題。 OP想要從DataRow初始化一個自定義類併爲其創建一個List。 –

回答

3
var empList = MyDatatable.AsEnumerable().Select(row => 
    new Emp 
    { 
     Name= row.Field<string>("Name") // set the properties accordingly 
    }).ToList(); 
+0

我不想這樣做:Name = row [「Name」]。ToString()..直接轉換的任何可能性? – user2519971

+1

@ user2519971檢查我的更新,謝謝Tim – Damith

0

試試這個,

List<Emp> target = dt.AsEnumerable() 
    .Select(row => new Emp 
    { 
     Name = row.Field<string>("Name") 
    }).ToList(); 
+0

實際上它確實需要指定每個字段。如果LINQ可以做到這一點,我想跳過這個。 (1))... – user2519971

+0

您也可以使用提交的名稱,而不是(1)。您可以使用提交的名稱,而不是(1) 。 –