فیلترینگ

سوال شده توسط: رامین قره داغی

تاریخ ثبت: ۱۴۰۰/۰۹/۰۴

بازدید: 321

پاسخ: 3

تگ: Asp.net Core


سلام استاد خسته نباشید ی جدول گزارش ها دارم که 3 نوع گزارش دارم (انضباط - تردد - امتحان) که با enum مشخص کردم حالا توی جدول ی فیلد نوع گزارش ی فیلد دانش آموز و کلاس هست. فیلد دانش آموز nullable هست چون اگر گزارش امتحان بود دیگه به کل کلاس مربوطه ولی اگه انضباط و تردد به دانش اموز خاصی هست. حالا میخوام اولیا هم انضباط و تردد دانش اموز خودش رو ببینه هم امتحان که مال کلاس هست و enum=2 هست رو ببینه بدون فیلتر مشکل نداره ولی هنگام فیلتر درست در نمیاد هرچقدر با && و || بازی کردم جواب نمیده
پاسخ ها
user

رامین قره داغی

همه رو درست فیلتر میکنه بجز بعد | | . اگه بنویسم کل گزارشات کلاس فرزند اون وقت گزارشات شخصی دانش اموزان دیگه رو هم میاره میخوام گزارش هایی که کلاسش مال کلاس فرزند و reportType = 2 هست رو بیاره

البته میگم درست میاره ولی فیلترش درس کار نمیکنه

دریافت فایل ضمیمه
user

محمد اشرافی

سلام ، خیلی متوجه پرسشتون نشدم ولی اینو در نظر بگیرید که توی شرط ها اولویت با () پرانتز هست به مثال پایین توجه کنید : 

where(q=>(q.userId==1 && q.age==20) || q.userId==2)

مثال بالا رو ببینید اون 2 تا شرط توی پرانتز در حقیقت یکی هستن ولی اگر پرانتز رو برداریم این شرط ما بهم میریز 

-------------------------------

احتمالا مشکل شما هم از این باشه

user

محمد اشرافی

و لازم نبود این قد کد رو شلوغ کنید چون یک IQueryable دارید شرط هارو جدا جدا اعمال کنید مثلا تاریخ هارو میتونستید جدا اعمال کنید توی سطر بعد اش

 

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات