سلام
من مشخصات رکورد رو در یه جدول ذخیره کردم به اسم Professor
و عکس پروفایلو هر استاد رو در یه جدول دیگه ذخیره میکنم!
حالا میخام یه لیستی گزارش بگیرم که تمام اساتیدی که در جدول دوم موجود نیست نشون بده! چکار باید انجام بدم
من روش زیرو استفاده کردم که این join بین دوتا جدوله و اگه تو دوتا جدول موجود باشه نشون میده!
میخام اگر تو جدول دوم نبود نشون بده
public PartialViewResult ViewProfessorNoPic() { var psm = new ViewModel.ProfessorVMUploadPic(); var q = from Pro in db.Professors join Pic in db.ProfileImages on Pro.ProfID equals Pic.ProfessorID orderby Pro.ProfID descending select new ViewModel.ProfessorVMUploadPic { Name = Pro.Name, Family =Pro.Family, ProfID = Pro.ProfID, ProfilePic=Pic.ProfessorPic }; return PartialView(q.ToList()); }
منظورم اینه LEFT OUTER JOIN چجوری تو mvc ؟
جواب درست: ( البته نمیدونم درسته این کارم یا نه از نظر تمیز بودن کد )
public PartialViewResult ViewProfessorNoPic() { var psm = new ViewModel.ProfessorVMUploadPic(); var q = from Pro in db.Professors join Pic in db.ProfileImages on Pro.ProfID equals Pic.ProfessorID into gj from subPro in gj.DefaultIfEmpty() orderby Pro.ProfID descending select new ViewModel.ProfessorVMUploadPic { Name = Pro.Name, Family =Pro.Family, ProfID = Pro.ProfID, ProfilePic = (subPro.ProfessorPic==null ? String.Empty:subPro.ProfessorPic) }; q = q.Where(x => x.ProfilePic == String.Empty); return PartialView(q.ToList()); } }
با تشکر از stackowerflow
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)