Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Migracja ASP MVC MsSql do MySQL

Czy na pewno Twoje drugie zapytanie jest naprawdę OK?

1) Id =d.Id, <=Dlaczego ten przecinek (nie ma większego znaczenia)? („ID =” jest zbędne)

2) .Where(m => m.Trash ==false) <=„Kosz” nie jest zaznaczony, więc ta właściwość nie jest obecnie znana

3) .OrderByDescending(f => f.Created) <=idem dla „Utworzono”

4) Dlaczego przecinek po .ToList()?

Uprościłem twój DDL (który nie jest MWE) za pomocą wygenerowanych danych. Odtworzyłem twój problem w VS2013.

Przetestowałem również twoje zapytanie za pomocą LINQPad bezpośrednio w bazie danych i mam ten sam problem z trzecim testem, prawdopodobnie błąd w sterowniku mysql:

trdposts.Select(a => new {
    Created = a.Created,
    Body = a.Body,
    Comments = a.Posttrdcomments
                .Select(d => new { Body = d.body, Id = d.Id, d.Created, d.Trash})
                .Where(m => m.Trash == 1)
                .OrderByDescending(f => f.Created)
                .Skip(33)
                .Take(10)
                .ToList()
    })

Podaj krótsze zapytanie SQL:

SELECT t1.PostId, t1.body, t1.Id, t1.Created, t1.Trash
FROM trdposts AS t0
    OUTER APPLY (
      SELECT t2.body, t2.Created, t2.Id, t2.PostId, t2.Trash
      FROM trdcomments AS t2
      WHERE ((t2.PostId = t0.Id) AND (t2.Trash = 1))
      ORDER BY t2.Created DESC
  ) AS t1
ORDER BY t1.Created DESC

Bez .Skip() i .Take() otrzymujemy dobre 'LEFT OUTER JOIN'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl mysql w tabeli html za pomocą Node.js

  2. Czy można zapisywać pliki MySQL Workbench jako zwykły XML?

  3. Zapytanie, aby uzyskać najniższą wartość, która jest większa od zera, a nie jest NULL

  4. Transpozycja wierszy do nagłówków w MYSQL

  5. Obrazy jako linki w bazie danych MySQL?