0

コレクションを取得する必要があります

public class TemperatureModel
{
    public string SensorType { get; set; }
    public double RoomTemperature { get; set; }
    public DateTime Created { get; set; }
}

データベースで表される各温度センサーの最新の室温。

各温度センサーのデータベースに書き込まれた最新の室温を取得する Linq クエリがあります。

var latestTemperatureQuery =
    from temperature in db.RoomTemperature
    join sensor in db.Sensor on temperature.SensorId equals sensor.Id
    group temperature by temperature.SensorId into groupedRoomTemperature
    select groupedRoomTemperature.OrderByDescending(t => t.Created)
    .FirstOrDefault();

上記のクエリを変更して、TemperatureModel DTO/POCO クラスを設定するのに苦労しています。該当するデータベース テーブルから適切な SensorType を取得するには、明らかにJOIN操作を実行する必要があり、次のようなことを行う必要があります。

select new TemperatureModel
{
     SensorType = // Selected SensorType value.
     RoomTemperature = // Selected RoomTemperature value.
     Created = // Selected Created value.
}

各温度センサーのデータベースに最後に書き込まれた温度のみを選択します。このクエリを変更して DTO/POCO クラスを設定する方法についてのアイデアはありますか?

4

1 に答える 1