maktab
سه شنبه 07 مرداد 1393, 23:51 عصر
سلام
من برای ارتباط با بانکم از entity framework استفاده میکنم و هیچ مشکلی پیش نیامده. سرعتش هم خوبه.
ولی این بار اومدم و برای تست 8000 تا رکورد در یه جدول قرار دادم ولی الان که میخوام سایت رو بالا بیارم همینطوری صفحه در حالت لود میمونه!
البته در جایی که زیاد از اطلاعات این جدول استفاده نکردم (فرضا فقط تیترش رو بخونم) بعد از گذشت چند دقیقه (باز هم به نسبت قبل خیلی زیاده!) لود میشه و در صفحاتی که از اطلاعات بیشتری استفاده کردم کلا چیزی نمایش داده نمیشه اخطاری هم نمیاد فقط صفحه داره لود میشه!!
تا جایی که اطلاع دارم و مطمئنم Entity Framework رو اگر همراه Linq استفاده کنیم و در آن از امکان صفحه بندی استفاده کنیم این امکان در سطح بانک صورت میگیره و تمام اطلاعات رو واکشی نمیکنه.
نمونه کدی که ازش استفاده کردم این کده:
using (EntitiesSite Entity = new EntitiesSite())
{
var lst = (from P in Entity.News.ToList()
where P.Block == false
orderby P.NewsId descending
select new { P.Title, P.Text }).Skip(0).Take(8).ToList();
}
این رو برای حالت اول استفاده کردم برای حالت دوم هم به همین شکله با این تفاوت که اطلاعات بیشتری از خبر رو فراخوانی میکنم. شرکت هاستی هم که ازش گرفتم از شرکت های پرسرعته پس نمیشه گفت بخاطر هاسته
در کل مگه این کد نمیره و 8 تا ردیف رو میاره؟ پس چرا اینقدر تفاوت وجود داره!!
من برای ارتباط با بانکم از entity framework استفاده میکنم و هیچ مشکلی پیش نیامده. سرعتش هم خوبه.
ولی این بار اومدم و برای تست 8000 تا رکورد در یه جدول قرار دادم ولی الان که میخوام سایت رو بالا بیارم همینطوری صفحه در حالت لود میمونه!
البته در جایی که زیاد از اطلاعات این جدول استفاده نکردم (فرضا فقط تیترش رو بخونم) بعد از گذشت چند دقیقه (باز هم به نسبت قبل خیلی زیاده!) لود میشه و در صفحاتی که از اطلاعات بیشتری استفاده کردم کلا چیزی نمایش داده نمیشه اخطاری هم نمیاد فقط صفحه داره لود میشه!!
تا جایی که اطلاع دارم و مطمئنم Entity Framework رو اگر همراه Linq استفاده کنیم و در آن از امکان صفحه بندی استفاده کنیم این امکان در سطح بانک صورت میگیره و تمام اطلاعات رو واکشی نمیکنه.
نمونه کدی که ازش استفاده کردم این کده:
using (EntitiesSite Entity = new EntitiesSite())
{
var lst = (from P in Entity.News.ToList()
where P.Block == false
orderby P.NewsId descending
select new { P.Title, P.Text }).Skip(0).Take(8).ToList();
}
این رو برای حالت اول استفاده کردم برای حالت دوم هم به همین شکله با این تفاوت که اطلاعات بیشتری از خبر رو فراخوانی میکنم. شرکت هاستی هم که ازش گرفتم از شرکت های پرسرعته پس نمیشه گفت بخاطر هاسته
در کل مگه این کد نمیره و 8 تا ردیف رو میاره؟ پس چرا اینقدر تفاوت وجود داره!!