集計テーブルを返す LINQ 関数があります。
private DataTable CreateSummaryFocusOfEffortData()
{
var result = ReportData.AsEnumerable()
.GroupBy(row => new
{
Value = row.Field<string>("Value"),
Description = row.Field<string>("Description")
})
.Select(g =>
{
var row = g.First();
row.SetField("Hours", g.Sum(r => r.Field<double>("Hours")));
return row;
});
return result.CopyToDataTable();
}
ここで、この関数に WHERE 句を追加して、リストにあるフィールドの行のみを合計するようにします。SQL の IN 演算子のようなもの。例: 値 (1,2,3) を持つリストがあり、リストにある値を持つ where 句を基にしたいとします。