我有一个具有布局的SQL表Items
Code | UpdatedAt | data columns...
------------------------
0001 | 2017-01-01 | ..
0001 | 2017-01-02 | ..
0002 | 2017-01-01 | ..
0003 | 2017-01-01 | ..
,并希望选择Items
中所有具有最新UpdatedAt
值的ef core 2.1
对于代码为Item
的{{1}},以下方法适用并转换为单个SQL查询:
code
,但要获取所有最新的var latestItemVersion = await DbContext.Items.Where(p => p.Code == code).OrderByDescending(p => p.UpdatedAt).FirstOrDefaultAsync()
的列表:
Items
返回正确的结果,但会生成类似var latestItemVersions = await DbContext.Items.GroupBy(p => p.Code).Select(g => g.OrderByDescending(p => p.UpdatedAt).First()).ToListAsync()
的查询,并在本地对结果进行分组。
EF记录警告:
SELECT * from [Items] ORDER BY [code]
如何将其转换为可转换为单个SQL查询的内容?有可能吗?