Сводная таблица с использованием linq для сущностей - PullRequest
0 голосов
/ 05 июня 2018

У меня есть такая таблица

Id  MachineName ServerName  TagName TagValue    ValueDateTime
1   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.STR02_METER_DENSITY_(1)  93.1631400000   2018-06-04 21:08:28.720
2   DanPac_A    Daniel.Device Links.1   Diagnostics.Heartbeat   1.0000000000    2018-06-04 21:08:32.717
3   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
4   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
5   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
6   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
7   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
8   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
9   DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
10  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
11  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
12  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
13  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
14  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
15  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
16  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
17  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(7)   16.8916200000   2018-06-04 21:08:32.873
18  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
19  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873
20  DanPac_A    Daniel.Device Links.1   Poll.Registers Block 0.310-TT-302_(6)   52.1062000000   2018-06-04 21:08:32.873

Данные регистрируются на сервере в 24-часовом формате с интервалом 5 секунд, и мне нужно агрегировать их по часам, неделям, дням и минутам.на основе интервала, выбранного пользователем.

Я мог бы установить интервал по датированному значению, мой запрос состоит в том, как объединить эту таблицу в любой вышеуказанный формат, используя запрос linq to entity.

Например, если пользователь выбирает ярость даты с 6 июня 2018 года: 09: 24: 111 - 7 июня 2018: 09:25:00, поэтому запрос должен возвращать

"MachineName, ServerName, TagName, TagValue (среднее значение за этот час), ValueDateTime (ежечасно, то есть 6 июня)-2018: 09: 24, 6 июня-2018: 10: 24 ..)

Любая помощь ..

...