Awalnya saya punya daftar seperti ini:
List<Car> cars = db.Car.Where(x => x.ProductionYear == 2005).ToList();
Lalu saya mencoba menggabungkan daftar ini dengan dua tabel besar menggunakan LINQ seperti ini :
var joinedList = (from car in cars
join driver in db.Driver.ToList()
on car.Id equals driver.CarId
join building in db.Building.ToList()
on driver.BuildingId equals building.Id
select new Building
{
Name = building.Name;
Id = building.Id;
City = building.City;
}).ToList();
Tabel Driver
dan Building
memiliki sekitar 1 juta baris. Ketika saya menjalankan gabungan ini saya keluar dari pengecualian memori. Bagaimana saya bisa membuat bergabung ini berhasil? Haruskah saya melakukan operasi penggabungan di database? Jika ya, bagaimana saya bisa membawa daftar cars
ke db? Terima kasih sebelumnya.
db.Driver.ToList()
HapusToList()
dari ini, ini akan mencegah pengambilan seluruh tabel driver di memori. Demikian pula daridb.Building
. - person Rahul Singh   schedule 30.06.2017.ToList()
terakhir dengan.Count()
dan periksa. - person Zein Makki   schedule 30.06.2017