Dengan perubahan pada .NET Core 3.0 saya mendapatkan
... NavigationExpandingExpressionVisitor 'gagal. Ini mungkin mengindikasikan bug atau batasan di EF Core. Lihat https://go.microsoft.com/fwlink/?linkid=2101433 untuk informasi lebih rinci.) ---> System.InvalidOperationException: Pemrosesan ekspresi LINQ 'GroupJoin, ...
Ini adalah permintaan yang sangat sederhana sehingga harus ada cara untuk melakukannya di .NET CORE 3.0:
var queryResults1 = await patients
.GroupJoin(
_context.Studies,
p => p.Id,
s => s.Patient.Id,
(p, studies) => new
{
p.DateOfBirth,
p.Id,
p.Name,
p.Sex,
Studies =studies.Select(s1=>s1)
}
)
.AsNoTracking().ToListAsync();
Saya pada dasarnya mencari kueri Linq (atau sintaksis metode seperti di atas) yang akan menggabungkan Studi ke Pasien, dan menetapkan Studi ke daftar kosong atau nol jika tidak ada studi untuk pasien yang diberikan.
Ada ide? Ini bekerja di .NET Core 2.2. Juga tautan MSFT di atas menyebutkan bahwa perubahan kunci terkait dengan evaluasi sisi klien dan menghindari bahwa kueri yang dihasilkan membaca seluruh tabel yang kemudian harus bergabung atau difilter sisi klien. Namun dengan permintaan sederhana ini, bergabung harus sisi server mudah dilakukan.