C#将数据集转换为多个实体的通用列表

C#将数据集转换为多个实体的通用列表,c#,stored-procedures,oracle11g,C#,Stored Procedures,Oracle11g,编辑:我读了答案,很好奇我是否能做些什么 类似的 我的项目有一个数据层,它只通过存储过程与数据库通信。其中一个过程从两个具有一对多关系的表返回数据。我正在使用Oracle数据访问库中的OracleDataAdapter。适配器填充数据表。我有一个实体类a,其中包含另一个实体类B的列表。我需要转换DataTable以匹配此关系。Datatable将填充多个仅具有不同B对象的行。有什么办法可以做到这一点吗 EDIT2:假设我有两门课,A和B public class A{ public in

编辑:我读了答案,很好奇我是否能做些什么 类似的

我的项目有一个数据层,它只通过存储过程与数据库通信。其中一个过程从两个具有一对多关系的表返回数据。我正在使用Oracle数据访问库中的OracleDataAdapter。适配器填充数据表。我有一个实体类a,其中包含另一个实体类B的列表。我需要转换DataTable以匹配此关系。Datatable将填充多个仅具有不同B对象的行。有什么办法可以做到这一点吗

EDIT2:假设我有两门课,A和B

public class A{
    public int Id { get; set; }
    public string Nome { get; set; }
    public string Descricao { get; set; }
    public DateTime Data { get; set; }
    public int Quantidade { get; set; }
    public List<B> Bs { get; set; }
}
public class B{
    public int Id { get; set; }
    public string Nome { get; set; }
}
因此,A可以有多个B对象。我想做一个通用的解析器,它可以将这个数据表转换成a列表中的B列表。我认为可以使用Marc Gravell的解决方案和一些递归方法来分析know if是一个列表的属性,并对a中的每个重复Id进行处理。有人知道这是否可行吗


提前谢谢你,我为你糟糕的英语道歉。

你试过标准的LINQ加入吗?@GarryVass Garry,你能告诉我怎么做吗?假设我有一个数据表行,它有一个\ Id、一个\名称、一个\描述、一个\日期、一个\ Id、一个\名称。我的A表有int Id、字符串名称、字符串描述和列表B,我的B表有int Id和字符串名称。我该怎么做?
Id    Nome    Descricao      Data        Quantidade    Id_B     Nome_B
1    "nome1"   "desc1"    05/07/2013         2          5      "nomeB_1"
1    "nome1"   "desc1"    05/07/2013         2          13     "nomeB_2"