Låt se. Du har en helt giltig LINQ till Entities-fråga, den fungerar med SqlServer-leverantören och fungerar inte med MySQL-leverantören. Låter som en MySQL-leverantörsbugg för mig, vad mer kan det vara? Men vilken? Jag ser inte hur det hjälper, men satsa på #78610 (initierad av ASP MVC MsSql till MySQL-migrering SO-inlägg), markerad som dubblett av #76663 . Eller #77543 etc.
Så MySQL-anslutningen har problem med OrderBy
i underfrågor. Som en lösning skulle jag kunna föreslå (när det är möjligt) ett alternativt sätt att implementera MaxBy
, dvs (i pseudokod) istället för seq.OrderByDescending(col).FirstOrDefault()
använd seq.FirstOrDefault(col == seq.Max(col))
mönster som fungerar:
var Result = ctx.Items
.Where(x => x.Contact.Country == Country)
.GroupBy(p => p.Name)
.Where(g => !g.Any(x => x.Value == "X"))
.Select(g => g.FirstOrDefault(e => e.Date == g.Max(e1 => e1.Date)))
.ToList();