sql >> Databáze >  >> RDS >> Mysql

Neznámý sloupec 'Project2.Name' v ​​'klauzuli where'

Uvidíme. Máte dokonale platný dotaz LINQ to Entities, funguje s poskytovatelem SqlServer a nefunguje s poskytovatelem MySQL. Zní mi to jako chyba poskytovatele MySQL, co jiného by to mohlo být? Ale který? Nechápu, jak to pomáhá, ale vsadil jsem na #78610 (iniciováno migrace ASP MVC MsSql na MySQL příspěvek SO), označený jako duplikát #76663 . Nebo #77543 atd.

Takže konektor MySQL má problémy s OrderBy v poddotazech. Jako řešení bych mohl navrhnout (pokud je to možné) alternativní způsob implementace MaxBy , tj. (v pseudokódu) namísto seq.OrderByDescending(col).FirstOrDefault() použijte seq.FirstOrDefault(col == seq.Max(col)) vzor, ​​který funguje:

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. Vytvoření výběrového menu v PHP s výchozím vybraným z MySQL db

  2. Jak ověřit e-mailovou adresu pomocí PL/SQL?

  3. Výzkum pomalosti PostGIS (vydání 2019)

  4. mysql regex utf-8 znaků