DATAC#數據讀取器到DTO?
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();
這三個談話以後,我的數據是這樣的:
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
}
是否可能和如何?我希望,我可以解釋......
答覆大感謝,如果我有一個更道具,例如「單元」,然後可以予補充一點:'讀數[單位] =基團;'? –
@AliRızaAdıyahşi:不,可能不是 - 關鍵是'name'是關鍵。您可能會將'Unit = unit'放入'group'的對象初始值設定項中。 –
我嘗試做你的建議,我像下面添加它,謝謝... –