PDA

View Full Version : بارگذاری جدول پایگاه داده باعث بالارفتن Private Memory برنامه و استفاده رم سیستم می شود



pouria_bayat
شنبه 07 مهر 1397, 22:59 عصر
سلام دوستان من یک جدول با Entity FrameWork ساختم که داخلش نزدیک به دو میلیون رکورد ذخیره شده وقتی می خواهم اطلاعات یک روز خاص از جدول رو بیرون بکشم برنامه کل رم سیستم رو اشغال میکنه و عملا سیستم هنگ میکنه.
تابع دسترسی به به داده هام به صورت زیر هستش:

public static List<Deal> LoadDealsFromDate(DateTime Tarikh)
{
try
{
lock (DBLocking)
{
List<Deal> data = DB.Deal.Where(X => X.Tarikh == Tarikh).ToList();
return data;
}
}
catch (Exception ex)
{
return null;
}
}

آیا راهکاری پیشنهاد دارید برای اینکه بتونم از overflow کردن رم سیستم و بارگذاری حجم زیاد رکوردهای اضافی جلوگیری کنم؟
هر تاریخ تقریبا 1000 رکورد را در بر داره ولی وقتی از تابع فوق استفاده می کنم برنامه نزدیک به 4 گیگ از رم رو اشغال میکنه.

pouria_bayat
شنبه 07 مهر 1397, 23:32 عصر
دوستان مشکل حل شد کافیه بعد از دستور Where از دستور .AsEnumerable() استفاده می شد.