我有一个sql(使用最新的Date获取所有不同的MID),我想将其转换为linq查询和lambda表达式
SELECT MID, MAX(Date) AS 'Date'
FROM TABLE1
WHERE (Status = '1')
GROUP BY MID
我有这个lambda,但我不知道如何获得MID字段
var result= (db.TABLE1
.Where(x => x.Status == 1)
.GroupBy(x => x.MID)
.Select(
x => x.Max(x=>x.CreatedDate)
)).ToList();
请建议如何修复linq查询和lambda的语法。谢谢
答案 0 :(得分:0)
但我不知道如何获得MID字段
使用组的键访问您用于分组的列。因此,您按单列分组,然后键将是MID列的值。然后使用匿名对象选择自定义字段集:
var result = db.TABLE1
.Where(x => x.Status == 1)
.GroupBy(x => x.MID)
.Select(g => new {
MID = g.Key,
Date = g.Max(x => x.CreatedDate)
}).ToList();