我在数据集中获得了一些信息,我想将它转换为强类型对象。 例如,我的数据集有:
TableName:tab_data
行:1
列:名称,名字,地址
所以我创建了一个类:
public class Customer
{
public String Name;
public String FirstName;
public String Address;
}
将数据集简单地投射到Customer类型是否有魔术?使用LiNQ?
谢谢,
答案 0 :(得分:4)
有没有理由你没有创建一个强类型的DataSet?这可能是最简单的解决方案。
您当然可以使用List<Customer>
扩展名AsEnumerable
转换为DataTable
以及从Customer
创建DataRow
的投影转换为{{1}}如果你真的需要。
答案 1 :(得分:2)
你不能施放,但你可以翻译数据......
1个表的答案可能与20个表的答案不同;在个人基础上,您应该能够Select
输出数据(或者just iterate) - 这将是最快的选择,但如果您有很多表,则需要大量维护。在后一种情况下,某种反射,perhaps like so。
答案 2 :(得分:0)
以下是如何将数据集转换为强类型对象的示例。在某些情况下,我们通过其他可能不是强类型的来源将数据导入数据集。但是Dataset允许我们将数据转换为强类型对象。
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();