فیلترینگ
رامین قره داغی
4 آذر ۱۴۰۰
سلام استاد خسته نباشید ی جدول گزارش ها دارم که 3 نوع گزارش دارم (انضباط - تردد - امتحان) که با enum مشخص کردم حالا توی جدول ی فیلد نوع گزارش ی فیلد دانش آموز و کلاس هست. فیلد دانش آموز nullable هست چون اگر گزارش امتحان بود دیگه به کل کلاس مربوطه ولی اگه انضباط و تردد به دانش اموز خاصی هست. حالا میخوام اولیا هم انضباط و تردد دانش اموز خودش رو ببینه هم امتحان که مال کلاس هست و enum=2 هست رو ببینه بدون فیلتر مشکل نداره ولی هنگام فیلتر درست در نمیاد هرچقدر با && و || بازی کردم جواب نمیده
375
3 پاسخ
- رامین قره داغی4 آذر ۱۴۰۰
همه رو درست فیلتر میکنه بجز بعد | | . اگه بنویسم کل گزارشات کلاس فرزند اون وقت گزارشات شخصی دانش اموزان دیگه رو هم میاره میخوام گزارش هایی که کلاسش مال کلاس فرزند و reportType = 2 هست رو بیاره
البته میگم درست میاره ولی فیلترش درس کار نمیکنه
- محمد اشرافی4 آذر ۱۴۰۰
سلام ، خیلی متوجه پرسشتون نشدم ولی اینو در نظر بگیرید که توی شرط ها اولویت با () پرانتز هست به مثال پایین توجه کنید :
where(q=>(q.userId==1 && q.age==20) || q.userId==2)
مثال بالا رو ببینید اون 2 تا شرط توی پرانتز در حقیقت یکی هستن ولی اگر پرانتز رو برداریم این شرط ما بهم میریز
-------------------------------
احتمالا مشکل شما هم از این باشه
- محمد اشرافی4 آذر ۱۴۰۰
و لازم نبود این قد کد رو شلوغ کنید چون یک IQueryable دارید شرط هارو جدا جدا اعمال کنید مثلا تاریخ هارو میتونستید جدا اعمال کنید توی سطر بعد اش