Vamos a ver. Tiene una consulta LINQ to Entities perfectamente válida, funciona con el proveedor SqlServer y no funciona con el proveedor MySQL. Me parece un error del proveedor de MySQL, ¿qué más podría ser? ¿Pero cual? No veo cómo ayuda eso, pero apuesto por #78610 (iniciado por Migración de ASP MVC MsSql a MySQL SO post), marcado como duplicado de #76663 . O #77543 etc.
Entonces el conector MySQL tiene problemas con OrderBy
en subconsultas. Como solución alternativa, podría sugerir (cuando sea posible) la forma alternativa de implementar MaxBy
, es decir (en pseudocódigo) en lugar de seq.OrderByDescending(col).FirstOrDefault()
use el seq.FirstOrDefault(col == seq.Max(col))
patrón que funciona:
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();