سلام.از اینکه صبوری می کنید و راهنمایی می کنید ممنونم
public IEnumerable<ShowAboutViewModel> showabout() { var query = _db.AboutUsRepository.Get(); // 1 var ii=new ShowAboutViewModel() { AboutUsFa = query.AboutUsFa, AboutUsEn = query.AboutUsEn } // 2 var item = (from o in query select new ShowAboutViewModel { AboutUsFa=o.AboutUsFa, AboutUsEn=o.AboutUsEn }); return item; }
در کد بالا من سعی کردم از روش اول بعد از کوری مقادیر رو به ویو مدل ارسال کنم اما پارامتر های مورد نظر شناخته نمی شد.
در روش دوم بعد از کوئری زدن مجدد پارامتر هامو بدست اوردم.ایا روش که استفاده کردم درست هست؟
متشکرم
با سلام خدمت شما
میشه متد get که نوشتین رو ارسال کنین؟
در روش اول متد get شما فکر میکنم که queryable برمیگردونه و برای همین هم هستش که عمل نمیکنه
public virtual IEnumerable<Tentity> Get(Expression<Func<Tentity, bool>> where = null, Func<IQueryable<Tentity>, IOrderedQueryable<Tentity>> orderby = null, string includes = "") { IQueryable<Tentity> query = _dbset; if (where != null) { query = query.Where(where); } if (orderby != null) { query = orderby(query); } if (includes != "") { foreach (string includ in includes.Split(',')) { query = query.Include(includ); } } return query.ToList(); }
سلام.این متد هستش.ممنونم از شما.این در واقع متد ریپوزیتوری اصلی هست.و این روش رو از آموزش های اقای مدائنی عزیز یاد گرفتم.
سلام مجدد
مورد اولی که نوشتین رو من وقتی با دقت بیشتری نگاه کردم دیدم که که شما روی لیست اومدین از Property های AboutUsFa و AboutUsEn استفاده کردین
کدی که نوشتین یه لیست برمیگردونه پس مسلما نمیتونین از Property های اون استفاده کنین مگر اینکه با استفاده از حلقه ، تمام اطلاعات رو بررسی کنین
کد دوم شما کار میکنه چون اومدین با استفاده از linq اطلاعات دیتابیس رو رصد کردین و دیتا رو واکشی کردین
مشکلی که کد شما الان داره برمیگرده به repository که نوشتین
توی دیتای با حجم بالا، سیستم شما به شدت کند میشه چراکه تمام اطلاعات دیتابیس شما در Repository واکشی میشن
این مورد رو میتونین با Custom Service رفع کنین یا اینکه برای Generic Repository که نوشتین ، سیستم Pagging پیاده سازی کنین
متشکرم.اراهنمایی های شما کمک زیادی کرد.منظور از customservice همان استفاده از IOC و ServiceLocator هست؟اگر غیر از این هست ممنون میشم لینک مقاله بهم معرفی کنید.
باز هم ممنون
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)