sql >> Databasteknik >  >> RDS >> Mysql

Okänd kolumn 'Project2.Name' i 'where clause'

Låt se. Du har en helt giltig LINQ till Entities-fråga, den fungerar med SqlServer-leverantören och fungerar inte med MySQL-leverantören. Låter som en MySQL-leverantörsbugg för mig, vad mer kan det vara? Men vilken? Jag ser inte hur det hjälper, men satsa på #78610 (initierad av ASP MVC MsSql till MySQL-migrering SO-inlägg), markerad som dubblett av #76663 . Eller #77543 etc.

Så MySQL-anslutningen har problem med OrderBy i underfrågor. Som en lösning skulle jag kunna föreslå (när det är möjligt) ett alternativt sätt att implementera MaxBy , dvs (i pseudokod) istället för seq.OrderByDescending(col).FirstOrDefault() använd seq.FirstOrDefault(col == seq.Max(col)) mönster som fungerar:

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. Installera Innotop för att övervaka MySQL-serverprestanda

  2. Varför påverkas två rader i min `INSERT ... ON DUPLICATE KEY UPDATE`?

  3. Oracle SQL ordning efter i subquery problem!

  4. Hur kan jag använda Entity Framework på en objektgraf över ett djup av 2 med MySQL Connector / NET?