0
我有一個ADO數據表如下從ADO數據表動態LINQ GROUPBY和選擇列,並返回數據表
tname cname rgname schools mtext
tn1 cn1 rg1 1 mxt1
tn1 cn1 rg1 2 mxt1
tn1 cn1 rg1 3 mxt1
tn2 cn2 rg2 5 mxt2
tn2 cn2 rg2 8 mxt2
tn2 cn2 rg2 3 mxt2
tn3 cn1 rg1 7 mxt1
tn3 cn1 rg1 4 mxt1
我想通過分組和連接用逗號分隔的學校產生從上表的一個表格。結果應該看起來像這樣
tname cname rgname schools mtext
tn1 cn1 rg1 1,2,3 mxt1
tn2 cn2 rg2 5,8,3 mxt2
tn3 cn1 rg1 7,4 mxt1
我只在運行時按列了解組。我也想把結果作爲一個類似的數據表,因爲有更多的列(高達15)。 S有可能通過並選擇lambda表達式來使用動態組。
我已經實現了動態組的邏輯,但動態選擇讓我感到困擾。
var result = from o in DT.AsEnumerable()
group o by new
{
cname = groupByCname? o.Field<string>("cname") : null,
tname = groupByTname? o.Field<string>("tname") : null,
rgname = groupByRGname? o.Field<string>("rgname") : null,
mtext = groupByMtext? o.Field<string>("mtext") : null,
} into g
select new
{
//Here i want to select all columns from DT and have schools as
// comma separated
schools = String.Join(",",g.Select(x=>x.Field<string> ("Schools")).ToArray())
};
謝謝您的幫助
此接近:http://stackoverflow.com/q/31082791/861716 –
其實,你自己的代碼會做罰款我也。 –
以上是期待一個單一的參數,但我有多個組的可能性。所以可能是上面的鏈接不起作用。 –