فیلترینگ

رامین قره داغی
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 دارید شرط هارو جدا جدا اعمال کنید مثلا تاریخ هارو میتونستید جدا اعمال کنید توی سطر بعد اش