我有2列DataTable:Id(長),日期(DataTime)。 如何組此獲得分組列表中的LINQ:如何按年份和月份分組?
2017.08.03
345675
877685
2017.08.04
988798
898967
675675
接下來,我必須給每個組發送到存儲過程作爲一個參數。 我可以在數據表有大約300000行,所以linq擴展應該很快。
好的。現在,我想爲每個組織做些事情。我該怎麼做?
var GroupedbyDates = dataTable.AsEnumerable().GroupBy(x => ((DateTime)x["Date"]).Date);
for (var i = 0; i < threadCount; i++)
{
Task task = Task.Factory.StartNew(DoSomething);
tasks.Add(task);
}
private DoSomething()
{
while (true)
{
var item = ?? //one of groups;
if (item != null)
{
var result = DoSomething2();
HandleResult(result);
}
}
}
如何迭代IGrouped?
UPDATE
我有這樣的事情:
var r = dataTable.AsEnumerable()
.GroupBy(x => ((DateTime)x["Date"]).Year)
.ToDictionary(year => year.Key, g => g.GroupBy(x =>
((DateTime)x["Date"]).Month)
.ToDictionary(month => month.Key, d => d
.Select(t => new { Root_Id = t["Id"] })));
到:
2017.08.03
345675
877685
2017.08.04
988798
898967
675675
任何去除一部分時間和項目組獲得團體的例子努力從你身邊實現這一目標? –