проблема в том, что строка
IQueryable<InstallationInformation> QueryResult2 = QueryResult1.GroupBy(x => x.CompanyName).SelectMany(y => y);
на самом деле ничего не делает.
Предположим, QueryResult1 равен
CompanyName | F1 | F2 |
CN1 | f1a | f2a |
CN1 | f1a | f2a |
CN2 | f1b | f2b |
, тогда QueryResult1.GroupBy (x => x.CompanyName) будет
Group | Данные
CN1 | CompanyName | F1 | F2 |
CN1 | f1a | f2a |
CN1 | f1a | f2a |
CN2 | CompanyName | F1 | F2 |
CN2 | f1b | f2b |
, затем QueryResult1.GroupBy (x => x.CompanyName) .SelectMany (y => y); снова
CompanyName | F1 | F2 |
CN1 | f1a | f2a |
CN1 | f1a | f2a |
CN2 | f1b | f2b |
то, что вы хотите сделать, вероятно,
var QueryResult2 = QueryResult1.GroupBy(x => x.CompanyName).Select(y => new {CompanyName = y.Key, MaxTimestamp = y.Max(z => z.TimeStamp)});