C# 如何在单个LinQ查询中编写OrderByDescending和where子句
我想显示特定C# 如何在单个LinQ查询中编写OrderByDescending和where子句,c#,linq,C#,Linq,我想显示特定设备ID的最新更新设备值。当使用OrderByDescending和Where编写LinQ查询时,我得到了一个错误 无法执行文本选择:CS1061“int”不包含 “OrderByDescending”和无扩展方法的定义 接受类型为“int”的第一个参数的“OrderByDescending”可以是 发现 数据类型 Id - int32 UpdatedDate- datetime 林克 您需要为谓词插入括号,即where子句 完全使用查询语法或lambda表达式。以下方面应起作用:
设备ID
的最新更新设备值。当使用OrderByDescending
和Where
编写LinQ查询时,我得到了一个错误
无法执行文本选择:CS1061“int”不包含
“OrderByDescending”和无扩展方法的定义
接受类型为“int”的第一个参数的“OrderByDescending”可以是
发现
数据类型
Id - int32
UpdatedDate- datetime
林克
您需要为谓词插入括号,即where子句
完全使用查询语法或lambda表达式。以下方面应起作用:
(from a in Attendances
where a.Deviceid == 1
select a)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(x=>x.UpdatedDate)
或使用lambda表达式语法:
Attendances.Where(a => a.Deviceid == 1)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(a => a.UpdatedDate);
旁注:
如果要返回单个项目,则可以使用FirstOrDefault()
或First()
,您可以了解两者的区别:
var latestDate = Attendances.Where(a => a.Deviceid == 1)
.OrderByDescending(x=>x.Id)
.FirstOrDefault()
?.UpdatedDate;
您需要为谓词插入括号,即where子句
完全使用查询语法或lambda表达式。以下方面应起作用:
(from a in Attendances
where a.Deviceid == 1
select a)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(x=>x.UpdatedDate)
或使用lambda表达式语法:
Attendances.Where(a => a.Deviceid == 1)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(a => a.UpdatedDate);
旁注:
如果要返回单个项目,则可以使用FirstOrDefault()
或First()
,您可以了解两者的区别:
var latestDate = Attendances.Where(a => a.Deviceid == 1)
.OrderByDescending(x=>x.Id)
.FirstOrDefault()
?.UpdatedDate;
您混合了两个LINQ符号(查询表达式和lambda语法),我正在尝试用linqpad编写。您混合了两个LINQ符号(查询表达式和lambda语法)我试图在linqpad.1st选项中写入givng错误-CS1061“bool”不包含“OrderByDescending”的定义,并且找不到接受类型为“bool”的第一个参数的扩展方法“OrderByDescending”(按F4添加using指令或程序集引用)第二个选项给出错误-无法执行文本选择:)或表达式结尾expectedthird选项给出空值,0条记录getting@EhsanSajjad:两个查询都返回IEnumerable
,而不是DateTime
Take(1)
并不能取代Single
/First
@Dennis,Dennis说用户想要一个日期时间
?虽然.Take(1)
感觉不对,但这是OP写的,所以可能是故意的?第一个选项givng error-CS1061“bool”不包含“OrderByDescending”的定义,并且找不到接受类型为“bool”的第一个参数的扩展方法“OrderByDescending”(按F4添加using指令或程序集引用)第二个选项给出错误-无法执行文本选择:)或表达式结尾expectedthird选项给出空值,0条记录getting@EhsanSajjad:两个查询都返回IEnumerable
,而不是DateTime
Take(1)
并不能取代Single
/First
@Dennis,Dennis说用户想要一个日期时间
?虽然.Take(1)
感觉不对,但这是OP写的,所以可能是有意的?