sql >> Database >  >> RDS >> Mysql

Onbekende kolom 'Project2.Name' in 'where-clausule'

Laat zien. U hebt een perfect geldige LINQ to Entities-query, deze werkt met de SqlServer-provider en werkt niet met de MySQL-provider. Klinkt als een bug in de MySQL-provider, wat kan het nog meer zijn? Maar welke? Ik zie niet in hoe dat helpt, maar zet mijn weddenschap op #78610 (geïnitieerd door ASP MVC MsSql naar MySQL migratie SO post), gemarkeerd als duplicaat van #76663 . Of #77543 enz.

Dus MySQL-connector heeft problemen met OrderBy in subquery's. Als tijdelijke oplossing zou ik (indien mogelijk) de alternatieve manier kunnen voorstellen om MaxBy te implementeren , d.w.z. (in pseudo-code) in plaats van seq.OrderByDescending(col).FirstOrDefault() gebruik de seq.FirstOrDefault(col == seq.Max(col)) patroon dat werkt:

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();


  1. Welk NpgsqlDbType moet worden gebruikt om de fout Kan CLR-type niet schrijven te wissen

  2. Opgeslagen procedure of functie verwacht een parameter die niet is opgegeven

  3. Rails / Postgres:"moet voorkomen in de GROUP BY-clausule of worden gebruikt in een aggregatiefunctie"

  4. ER_ACCESS_DENIED_ERROR CloudSQL