私は次のオブジェクトを持っています
public partial class Log
{
public System.Guid Id { get; set; }
public double Lat { get; set; }
public double Lng { get; set; }
public System.DateTime TimeStamp { get; set; }
public int DeviceId { get; set; }
}
そして、デバイスごとに最新のログを取得したいと思います。だから私はこれを持っています
from log in allLogs
group log by log.DeviceId
into l
select new {DeviceId = l.Key, TimeStamp = l.Max(s => s.TimeStamp)};
これは、deviceIdとTimeStampのみが含まれていることを除いて、うまく機能します。ログのLatフィールドとLngフィールドも含めたいと思います。
ただし、これらのフィールドはキーまたは集計関数の一部ではないことに注意してください。IEこれらのフィールドでグループ化したくないので、結果セットに含めたいだけです。これで、デバイスごとの最新のログのlatLngを取得できます。