سلام خسته نباشید
از لحاظ کارایی و سرعت اجرای برنامه آیا تفاوتی بین دو رویکرد زیر وجود دارد؟
1- تمام رکورد ها را در یک مدل ، از کنترلر به ویو ارسال کنیم و در آنجا با دستورات linq فقط 4 تا رکورد رو نمایش دهیم .
2- همان 4 تا رکورد را به عنوان مدل از کنترلر به ویو پاس بدهیم.
آیا فرقی میکنه؟ منظورم اینه که در هر صورت این فیلتر کردن اطلاعات و در نهایت نمایش 4 تا رکورد باید انجام بشه ، حالا فرقی میکنه که این دستورات تو کنترلر باشه یا ویو؟
به نظر شما فرقی نمیکنه ؟
همه اطلاعات از بانک واکشی باشه یا فقط 4 تا ؟
بله
از نظر فنی باید منطق در کنترلر اجا شود نه ویو
ویو فقط وظیفه نمایش را بر عهده دارد
با عرض پوزش یه سوال دیگه دارم ، من دو تا جدول دارم : یکی جدول Article شامل فیلد های id , name و ... و دیگری User_Article شامل فیلد های Article_id , User_id , article_Count, ... ، من میخوام لیستی از کالا هایی رو از بانک بیارم که موجود هستند یعنی در جدول User_article فیلد article_count>0 باشه ، حالا بهترین کار از نظر شما چیه؟
1- اینکه بیام اول تمام رکورد هایی رو که article_count>0 هست از جدول User_Article بیارم وبریزم تو یه لیستی مثل UAList و سپس تمام کالا ها رو از جدول Article با دستور select بیارم داخل لیست AList و بعد با یه حلقه مثل کد زیر اون کالا های موجود رو به دست بیارم
list<Article> model=new list<Article>(); foreach(var item in UAList){ foreach(var Article in AList){ if(item.Article_id==Article.id){ model.add(Article); } } }
2- یا اینکه موقع واکشی اطلاعات از بانک دو تا جدول رو join کنم و حاصل رو تو یه لیست بریزم یا اینکه نه، راه بهتری هم وجود داره ؟
بهتره Join کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)