如何在数据表中的自引用数据中获取组总数?

时间:2010-03-21 05:51:19

标签: c# ado.net

我的数据表中有三列。

1)产品ID
2)ProductParentID
3)产品总数

ProductID和ProductParentID是自我重构列,我可以根据我的关系设置父子关系并获取子行。让我们说我有以下数据
产品1
Product11
Product12
Product13
Product131
Product132
Product133
产品2
Product21
Product22
Product23

在“产品总计”列中的上述层次结构旁边,我想要的是每个子行的总和,并且这些子行的总和应该累计到它的父产品。 例如,如果产品131总数为10,产品13总数为15,产品133总数为5,那么产品13总数应为30.逻辑应适用于n个自身层级。

数据表本身是否有任何功能,我可以实现这一点而无需遍历每一行并手动完成?

感谢。

1 个答案:

答案 0 :(得分:1)

你看过DataRelation了吗?在你的情况下: -

        DataRelation productRelation= new DataRelation("ProductRelation",
        oDs.Tables["Product"].Columns["ProductId"],
        oDs.Tables["Product"].Columns["ProductParentId"]);
        dataSetObj.Relations.Add(productRelation);

然后使用LINQ to DataSet来实现SO中描述的here