Datatable LINQ select datarow仅返回一行以及如何订购

时间:2014-05-27 16:08:54

标签: c# linq datatable

我有一个包含4列的数据表


 - A|1|Apple|Turnip
 - A|2|Water|Fruit
 - B|1|Water|Orange
 - B|2|Water|Mango
 - C|1|Hello|World

我想要做的是选择不同的A列。然后我想根据A列选择不同的列2,3,4。

这就是我用来选择不同的列A.我的第一部分的问题是你如何按列A(linkControl)订购。成员是我的数据表,这将返回每个分区列

    var linkControl = Member.AsEnumerable()
                            .Select(row => new
                            {
                                linkCon = row.Field<string>("LinkControl")
                            })
                            .Distinct();

然后因为我想迭代每个linkCons,我执行以下操作,即使每个linkCon有大约20个数据行,也只返回一个数据行。我如何返回所有行?

 foreach (var linkC in linkControl)
    {
var linkControllink = (from DataRow dr in ADMemberships.Rows
                               where dr["LinkControl"] == linkC.linkCon
                               orderby (string)dr["URLDescription"]
                               select dr);

}


        foreach (var lcl in linkControllink)
        {
                //only has one row in it
         }

1 个答案:

答案 0 :(得分:2)

我不得不将代码更改为where dr["LinkControl"].ToString() == linkC.linkCon.ToString(),我真的不明白为什么。