0
サブクエリを使用して子テーブルから上位1つの結果を取得しようとしています。私は、サブクエリを使用してorderby or OrderByDescending
を使用しようとすると、それはorderbyはLINQを使用してサブクエリでトップ1の結果を得るために働いていません
とNullReferenceException
をスローします。 orderby or OrderByDescending
を使用しないと、my queryが正常に実行されます。 しかし、私はサブクエリの最後のレコードを取得したい。私のアプリはMySQLのデータベースに接続されています。
私のコードは、別の方法に使用
var result = (from ud in db.user_devices
join a in db.access_info on ud.u_id equals a.u_id
join d in db.device_num on ud.dev_id equals d.DevId
//let pi = db.packet_info.Where(x => x.DevId == ud.dev_id && x.DevId != null).OrderByDescending(x =>x.systime).FirstOrDefault()
//where pi != null
select new
{
fuel = db.packet_info.Where(x => x.DevId == ud.dev_id).OrderByDescending(x => x.systime).Select(x => x.fuel).FirstOrDefault(),
//removed other fields
}).ToList();
あなたはdb.packet_infoまたはプロパティSYSTIMEの少なくとも型の定義を提供していただけますか? –
そのデータ型はC#のmysqlとDateTimeのタイムスタンプです –
systimeにnullがある可能性はありますか? –