您好我是LINQ的新手,我想在LINQ中实现以下查询:
select top 1 Registrationid from registration order by datemodified desc
通过上述查询,我想返回最新更新的registrationid。
任何人都可以告诉我上面的查询的语法写在 LINQ
感谢。
更新
var result = _dbcontext.Registrations.OrderByDescending(x => x.DateModified);
我尝试了更多的语法,但最后上面似乎更适合我,但是使用上面的语法我无法获得单个排序 registrationid
答案 0 :(得分:0)
你几乎做到了。只需添加FirstOrDefault
即可从数据库中选择TOP 1
实体。在按日期对其进行排序后,使用Select
生成项目结果:
var result = _dbcontext.Registrations
.OrderByDescending(x => x.DateModified)
.Select(x => x.RegistrationId) // select only id field
.FirstOrDefault(); // top 1
如果没有注册,此查询将返回最新注册ID或默认值(整数0
)。
生成的SQL将如下所示:
SELECT TOP (1)
[Extent1].[RegistrationId] AS [RegistrationId]
FROM [dbo].[Registrations] AS [Extent1]
ORDER BY [Extent1].[DateModified] DESC