Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Migrasi ASP MVC MsSql ke MySQL

Apakah Anda yakin kueri kedua Anda benar?

1) Id =d.Id, <=Mengapa koma ini (tidak terlalu penting)? ('ID =' berlebihan)

2) .Where(m => m.Trash ==false) <='Sampah' tidak di pilih, jadi properti ini tidak diketahui saat ini

3) .OrderByDescending(f => f.Created) <=idem untuk 'Created'

4) Mengapa koma setelah .ToList()?

Saya telah menyederhanakan DDL Anda (yang bukan MWE) dengan data yang dihasilkan. Saya telah mereproduksi masalah Anda di VS2013.

Saya juga telah menguji kueri Anda dengan LINQPad langsung terhadap database dan saya memiliki masalah yang sama dengan tes ketiga, mungkin bug di driver 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()
    })

Berikan kueri SQL yang lebih pendek:

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

Tanpa .Skip() dan .Take(), kita mendapatkan 'LEFT OUTER JOIN' yang bagus



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Piping mysqldump ke mysql

  2. Cara termudah untuk menyalin database MySQL?

  3. abaikan hasil duplikat dari pengulangan foreach loop melalui kueri mysql

  4. Nilai duplikat PDO dalam array

  5. Bagaimana cara membaca file dan menambahkan kontennya ke database?