【发布时间】:2015-07-23 10:33:54
【问题描述】:
我有两个班级,即:
public class Parent
{
public int Id { get; set; }
public int A { get; set; }
public int B { get; set; }
}
public class Child : Parent
{
public int C { get; set; }
public int D { get; set; }
}
我有两个包含以下记录的数据表
DataTable I (Parent Table)
ID A B
1 2 4
2 3 6
3 8 7
4 5 9
DataTable II (Child Table)
ParentID C D
2 4 10
4 9 7
如果我想将父数据表转换为父对象,我使用以下代码:
IList<Parent> items = dt.AsEnumerable().Select(row =>
new Parent
{
Id = row.Field<int>("Id"),
A = row.Field<int>("A"),
B = row.Field<int>("B"),
}).ToList();
显然必须将 ID 为 2 和 4 的父对象创建为子对象但是我不知道该怎么做。
请帮助我。 提前致谢。
【问题讨论】:
-
数据表是否已经包含连接的结果,如果它有孩子,我们可以访问
row.Field<int>("C"),或者孩子是否位于不同的数据表中? -
是的,孩子们位于不同的数据表中。
标签: c# .net linq list datatable