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

Sintaks metode LINQ untuk beberapa gabungan kiri

Saya berasumsi bahwa Anda ingin bergabung dengan tabel UserHasPackages karena Anda ingin memfilter hasil untuk pengguna tertentu (saya baru saja memasukkan 'SomeUser' karena saya tidak yakin dari mana 'UserHasPackages.ApplicationUserId' berasal) sejak itu tidak disertakan pada model tampilan.

Saya percaya sesuatu seperti berikut ini akan berhasil:

var list = context.Packages
    .Join(context.Containers, p => p.ContainerID, c => c.ID, (p, c) => new { p, c })
    .Join(context.UserHasPackages, pc => pc.p.ID, u => u.PackageID, (pc, u) => new { pc.p, pc.c, u })
    .Where(pcu => pcu.u.UserID == "SomeUser")
    .Select(pcu => new
    {
        pcu.p.ID,
        pcu.c.Name,
        pcu.p.Code,
        pcu.p.Code2
    });

Anda juga dapat melakukan ini menggunakan sintaks kueri:

var query = from package in context.Packages
            join container in context.Containers on package.ContainerID equals container.ID
            join userHasPackage in context.UserHasPackages on package.ID equals userHasPackage.PackageID
            where userHasPackage.UserID == "SomeUser"
            select new
            {
                package.ID,
                container.Name,
                package.Code,
                package.Code2
            };



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kunci asing yang merujuk sendiri di sequlize js

  2. jQuery Autocomplete (Jarak Jauh) - contoh

  3. Posting Google Forms ke database MySQL?

  4. mysqli tidak didukung di mesin aplikasi google dengan php

  5. Haruskah saya menggunakan tipe bidang gumpalan MySQL?