動作しないので、私はこのようなデータセットを持っている:シンプルLINQ DataTableの集約が
Group Value
A 3
B 7
別のDataTableの変数として:
Group Value
A 1
A 2
B 2
B 5
は単に私は持っていると思います。ここに私のC#のコードです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.OleDb;
using System.Globalization;
using System.IO;
using utilityClass;
namespace testData
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
string path = "test_data.csv";
bool isFirstRowHeader = true;
dt = Utils.GetDataTableFromCsv(path, isFirstRowHeader);
var results = from row in dt.AsEnumerable()
group row by row.Field<string>("Group") into grp
select new
{
Id = grp.Key,
sum = grp.Sum(r => r.Field<int>("Value"))
};
DataTable newDataTbl = results.CopyToDataTable();
}
}
}
それは(CopyToDataTableに私にエラーを与える)と言っ:
誰もが私のコードではうまくいかないものを知っていますか?ありがとう!
CopyToDataTableメソッドの実装を投稿してください。問題は、集計関数が匿名型を使用していることと、CopyToDatatableメソッドを呼び出そうとするときに、匿名型を具体的な型にキャストできないことです。問題をより良く解決するために、あなたのメソッドを投稿してください。 – Stormhashe
@Stormhashe OPは[CopyToDataTable'拡張]を使用しています(https://msdn.microsoft.com/en-us/library/bb396189(v=vs.110))。 aspx)を提供しています。問題は、拡張が 'DataRow'オブジェクトの集合を入力として必要とすることです。 –
ああ、ありがとう! – Stormhashe