2009-07-31 63 views
2

我在数据集中获取了一些信息,我想将它转换为强类型的对象。 比如我的数据集有:如何将数据集转换为强类型对象?

表名:tab_data
行:1
列:名称,名字,地址

所以我创建了一个类,如:

public class Customer 
{ 
public String Name; 
public String FirstName; 
public String Address; 
} 

是否有一个魔术技巧,简单地投我的数据集到客户类型?使用LiNQ?

感谢,

回答

2

不能这一点,但你可以翻译数据...

答案很可能是1代比表它是20个不同的;在个别的基础上,你应该能够将Select输出(或者just iterate) - 这将是最快的选择,但是如果你有很多表格,这将是很多维护工作。在后一种情况下,某种反思,perhaps like so

4

是否有您尚未创建一个强类型DataSet下手的原因吗?这可能是最简单的解决方案。

您可以使用AsEnumerable扩展DataTable并从DataRow创建Customer如果你真的需要一个投影肯定将每个数据表为(比如说)List<Customer>

0

下面是如何将数据集转换为强类型对象的示例。在某些情况下,我们通过其他可能不会强类型的来源获取数据到数据集中。但数据集允许我们将数据转换为强类型对象。

List<Customer> CustomerList = 
         (from row in ds.Tables[0].AsEnumerable() 
         select new Customer 
         { 
         Name = row.Field<string>("Name"), 
         FirstName = row.Field<string>("FirstName"), 
         Address = row.Field<string>("Address") 
         }).ToList();