rim*_*mes 4 c# sql select entity-framework sql-order-by
我正在尝试从我的数据库中选择 5 个最旧的条目。我正在使用以下语句:
dbContext.Items.Take(5).OrderBy(i => i.LastCheck).ToListAsync();
Run Code Online (Sandbox Code Playgroud)
这里的问题是EF首先从表中取出前5个Item,然后对它们进行排序。所以我总是从表中获得前 5 个条目。但我希望它首先对项目进行排序,然后选择前 5 个,就像我执行此 sql 命令时一样:
select top 5 * from Items order by LastCheck asc
Run Code Online (Sandbox Code Playgroud)
在这里,我得到了正确的结果。
是否有可能在 EF 中做到这一点,或者我是否必须执行查询?
你必须切换Take()和OrderBy()
dbContext.Items.OrderBy(i => i.LastCheck).Take(5).ToListAsync();
Run Code Online (Sandbox Code Playgroud)