データ
Name | Value |  Date |
cat1 |     3 | date1 |
cat1 |     5 | date2 |
cat1 |     2 | date5 |
cat2 |     6 | date8 |
cat2 |     7 | date1 |
cat2 |     2 | date6 |
DTO
public class MeterReadingsChartData
{
    public string name { get; set; }
    public List<DateTime> dates { get; set; }
    public List<double> values { get; set; }
}
変換中
 // first, I fetching datas from db to dataTable
 // second, I convert to datatable to another object list
 // for example IEnumerable<Readings> readings
 // third, like following; one more conversation too
 var chartSeries = readings.GroupBy(x => new { x.Name })
                   .Select(g => new
                    {
                        name = g.Key.Name ,
                        values = g.Select(x => x.Value).ToArray(),
                        dates = g.Select(x => x.Date).ToArray()
                    }).ToArray();
これら 3 つの会話の後、私のデータは次のようになります。
cat1: { values: {3 ,5, 2}, dates: {date1, date2, data5}
cat2: { values: {6 ,7, 2}, dates: {date8, date1, data6}
db データから DTO に直接会話できますか。たとえば、次のようなものが欲しいです。(dbへの別のデータアクセスがあるかもしれません)
IEnumerable<MeterReadingsChartData> MeterReadingsChartData;
while (reader.Read())
{
     // fill chart data DTO
}
それは可能ですか?説明できるといいのですが...