Lad os se. Du har en perfekt gyldig LINQ til Entities-forespørgsel, den virker med SqlServer-udbyderen og virker ikke med MySQL-udbyderen. Det lyder som en fejl i MySQL-udbyderen for mig, hvad kan det ellers være? Men hvilken? Jeg kan ikke se, hvordan det hjælper, men sats på #78610 (initieret af ASP MVC MsSql til MySQL-migrering SO-indlæg), markeret som duplikat af #76663 . Eller #77543 osv.
Så MySQL-stikket har problemer med OrderBy
i underforespørgsler. Som en løsning kunne jeg foreslå (når det er muligt) den alternative måde at implementere MaxBy
på , dvs. (i pseudokode) i stedet for seq.OrderByDescending(col).FirstOrDefault()
brug seq.FirstOrDefault(col == seq.Max(col))
mønster, der virker:
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();