2016-09-08 10 views
0

メソッドを次のlinqオブジェクト(IEnumurableタイプ)で使用できない理由を簡単に説明できますか?IEnumerable型のLINQオブジェクトがDataTableを返さない

var query = from r in SourceData.AsEnumerable() 
     group r by r["fruitid"] into Dt 
     select new 
     { 
     Group = Dt.Key, 
     Sum = Dt.Sum((t)=> double.Parse(t["name"].ToString())) 
     }; 

注意:私の目的はGroupBy Clause

+1

あなたはどのように 'CopyToDataTable'を使用できませんか? Intellisenseには表示されませんか?とにかくしようとするとコンパイルされませんか?例外がスローされますか? – krillgar

+0

ご迷惑をかけてください。さもなければ私達はあなたを助けることができません – Radinator

+0

'SourceData'はあなたの' DataTable'ですか? – SilentCoder

答えて

1

CopyToDataTableのジェネリック型の制約があり、次の結果DataTableを取り出す構成されています。

は、メソッドの宣言を見てみましょう:

public static DataTable CopyToDataTable<T>(this IEnumerable<T> source) 
    where T : DataRow 
{ 

} 

あなたはその二行目に気付いた場合、あなたのIEnumerable<T>DataRow秒の可算でなければなりません。あなたが持っているものは、匿名のオブジェクトの列挙可能です。

あなたのDataTableが何から来て、バインドされているかによって、実行しようとしていることを達成するための他の多くの方法がありますが、そのために利用できる方法はありません。

+0

ありがとう。あなたの答えは[Tim Schmelter](http://stackoverflow.com/questions/9258704/how-to-group-by-the-datatable-and-put-the-result-in-another-datatable)からの有益なフィードバックです。少し前。 –

関連する問題