如何在实体框架中编写关联查询?



我需要把这个查询翻译成EF Core

SELECT * FROM Release AS r1
WHERE r1.Status = 'Complete' AND
r1.UpdateDate = (
SELECT MAX(UpdateDate)
FROm RELEASE AS r2
WHERE r2.Platform = r1.Platform AND
r2.Status = 'Complete'
);

知道如何使用规范模式编写相同的查询是非常棒的。互联网上关于这方面的例子并不多,关于相关查询

的例子更是寥寥无几。

结果可能不同,但这就是我要做的。虽然效率不是特别高,但还是完成了工作;

var result = await Release
.Where(r1 => r1.Status == "Complete" && r1.UpdateDate == Release
.OrderByDescending(r2 => r2.UpdateDate)
.First(r2 => r2.Platform == r1.Platform && r2.Status == "Complete").UpdateDate)
.ToListAsync();

最新更新