Совокупные значения и время с использованием LINQ C # - PullRequest
0 голосов
/ 22 октября 2019

У меня есть следующий результат JSON из API.

[
    {
        "ID": "1",
        "Value" : "10",
        "TimeStamp": "2019-10-21 00:00:00"

    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 00:15:00"

    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 00:30:00"
    },
    {
        "ID": "1",
        "ResultValue": "10",
        "TimeStamp": "2019-10-21 00:45:00"
    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 01:00:00"

    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 01:15:00"

    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 01:30:00"
    },
    {
        "ID": "1",
        "Value": "10",
        "TimeStamp": "2019-10-21 01:45:00"
    },
    {
        "ID": "1",
        "Value": "0",
        "TimeStamp": "2019-10-21 02:00:00"
    }
]

Я пытаюсь десериализовать и записать в список, а затем агрегировать значения

 var items = JsonConvert.DeserializeObject<List<TestData>>(JSONResult).ToList();
 var aggList = items.GroupBy(u=> new { u.ID,u.TimeStamp}).Select(g => new TestData { ID = g.Key.ID,TimeStamp = g.Key.TimeStamp ,TotalValue = g.Sum(k =>K.Value)}).ToList();

Как изменить запрос LINQ, чтобы отобразить результат, как указано ниже.

Id : 1
 TotalValue : 40
 TimeStamp : 2019-10-21 01:00:00

 Id : 1
 TotalValue : 40
 TimeStamp : 2019-10-21 02:00:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...