我想显示特定UpdateDevice
的最新DeviceId
值。使用OrderByDescending
和Where
编写LinQ查询时,出现错误
无法执行文本选择:CS1061'int'不包含 'OrderByDescending'的定义,没有扩展方法 接受类型为“ int”的第一个参数的“ OrderByDescending”可能是 找到
数据类型
Id - int32
UpdatedDate- datetime
LinQ
from a in Attendances
where a.DeviceId == 1
.OrderByDescending(x=>x.Id)
.Take(1)
select a.UpdatedDate
答案 0 :(得分:5)
您需要为您的谓词加上括号,即where子句。
完全使用查询语法或lambda表达式。以下应该起作用:
FROM letsdoit/baseimage
.
.
COPY ./temp2.sh /sbin/entrypoint.sh
ENTRYPOINT ["/sbin/entrypoint.sh"]
CMD ["start-service"]
或使用lambda表达式语法:
(from a in Attendances
where a.Deviceid == 1
select a)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(x=>x.UpdatedDate)
旁注:
如果打算退回单个物品,则可以使用Attendances.Where(a => a.Deviceid == 1)
.OrderByDescending(x=>x.Id)
.Take(1)
.Select(a => a.UpdatedDate);
或FirstOrDefault()
,以了解两者的区别:
First()