Pokazać. Masz całkowicie prawidłowe zapytanie LINQ to Entities, które działa z dostawcą SqlServer i nie działa z dostawcą MySQL. Brzmi jak błąd dostawcy MySQL, co jeszcze może być? Ale który? Nie rozumiem, jak to pomaga, ale stawiam na #78610 (zainicjowane przez migracja ASP MVC MsSql do MySQL SO post), oznaczony jako duplikat #76663 . Lub #77543 itp.
Więc łącznik MySQL ma problemy z OrderBy
w podzapytaniach. Jako obejście mógłbym zasugerować (jeśli to możliwe) alternatywny sposób implementacji MaxBy
, tj. (w pseudokodzie) zamiast seq.OrderByDescending(col).FirstOrDefault()
użyj seq.FirstOrDefault(col == seq.Max(col))
wzór, który działa:
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();