sql >> Database teknologi >  >> RDS >> Mysql

Ukendt kolonne 'Project2.Name' i 'where clause'

Lad os se. Du har en perfekt gyldig LINQ til Entities-forespørgsel, den virker med SqlServer-udbyderen og virker ikke med MySQL-udbyderen. Det lyder som en fejl i MySQL-udbyderen for mig, hvad kan det ellers være? Men hvilken? Jeg kan ikke se, hvordan det hjælper, men sats på #78610 (initieret af ASP MVC MsSql til MySQL-migrering SO-indlæg), markeret som duplikat af #76663 . Eller #77543 osv.

Så MySQL-stikket har problemer med OrderBy i underforespørgsler. Som en løsning kunne jeg foreslå (når det er muligt) den alternative måde at implementere MaxBy på , dvs. (i pseudokode) i stedet for seq.OrderByDescending(col).FirstOrDefault() brug seq.FirstOrDefault(col == seq.Max(col)) mønster, der virker:

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. Ruby on Rails-databasemigrering skaber ikke udenlandske nøgler i MySQL-tabeller

  2. Hvordan får man en liste over forstæder, der omgiver en placering, og gentag derefter for andre steder ved hjælp af MySql?

  3. PDO kaster fejl, hvis MYSQL_ATTR_INIT_COMMAND bruges

  4. ORA-00918:kolonne tvetydigt defineret Jeg får denne fejl