1

编辑:我读了这个答案,很好奇我是否可以做类似的事情。

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

EDIT2:假设我有 2 个班级,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; }
}

我有一个数据表,其中包含以下数据:

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"

所以,A 可以有多个 B 对象。我想制作一个通用解析器,它可以获取此 DataTable 并将其转换为 A 列表中的 B 列表。我认为可以使用 Marc Gravell 的解决方案和一些递归方法来分析属性是否为列表,并为A中的每个重复ID处理它。有人知道这是否可能吗?

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

4

0 回答 0