获取数据集中多个值的计数 table

Get count of multiple values in a dataset table

我有一个包含 ParentID 列的数据集 table,我想将此列中的多个值的计数放入一个新的 table 中,其中包含两个字段,例如 ParentID 5978 和 ParentID 的计数4.

我的 table 专栏的片段

ParentID
5978
5978
5978
5978
5979
5979
5979
5979
5979
5979
5979
5979
5980
5980
5980
5980
5981
5981
5981

代码片段:

TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);
            TreeNodeDataSet parentNodes = tree.SelectNodes(SiteContext.CurrentSiteName, "/Shop%", LocalizationContext.CurrentCulture.CultureCode, false, "My.ProductCategory", "OriginalID = " + cId, "NodeID", -1, false, 1);
            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            DataSet dx = new DataSet();
            DataSet da = new DataSet();
            ds = parentNodes.Items.FirstItem.Children;
            dx = parentNodes.Items.FirstItem.AllChildren;
            da.Merge(dx.Tables[0].Select("NodeLevel = 4"));

我要查询的table在数据集da

尝试这样的事情。使用 GroupBy()

           DataTable dt = new DataTable();

            dt.Columns.Add("ParentID", typeof(int));
            dt.Rows.Add(new object[] {5978});
            dt.Rows.Add(new object[] {5978});
            dt.Rows.Add(new object[] {5978});
            dt.Rows.Add(new object[] {5978});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5979});
            dt.Rows.Add(new object[] {5980});
            dt.Rows.Add(new object[] {5980});
            dt.Rows.Add(new object[] {5980});
            dt.Rows.Add(new object[] {5980});
            dt.Rows.Add(new object[] {5981});
            dt.Rows.Add(new object[] {5981});
            dt.Rows.Add(new object[] {5981});

            var results = dt.AsEnumerable()
                .GroupBy(x => x.Field<int>("ParentID"))
                .Select(x => new { ParentID = x.Key, Count = x.Count() })
                .ToList();
​