Нека видим. Имате напълно валидна заявка за LINQ към Entities, тя работи с доставчик на SqlServer и не работи с доставчик на MySQL. Звучи ми като грешка в MySQL доставчик, какво друго може да е? Но кое? Не виждам как това помага, но залагам на #78610 (инициирано от миграция на ASP MVC MsSql към MySQL SO публикация), маркиран като дубликат на #76663 . Или #77543 и т.н.
Така че MySQL конекторът има проблеми с OrderBy
в подзаявки. Като заобиколно решение бих могъл да предложа (когато е възможно) алтернативния начин за внедряване на MaxBy
, т.е. (в псевдокод) вместо seq.OrderByDescending(col).FirstOrDefault()
използвайте seq.FirstOrDefault(col == seq.Max(col))
шаблон, който работи:
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();