نقل قول: تفاوت بین دو query
کد اول قطعا بهینه تر هست چون شما Query تون رو با استفاده از Where فیلتر کردید و فقط مقادیر لازمتون رو از دیتابیس دریافت میکنید که در این مثال فقط 1 رکورد از سمت دیتابیس به شما بازگشت داده میشه ، در حالی که در Query دوم تمامی مقادیر از دیتابیس دریافت میکنید و بعد تازه روش فیلترتون رو اعمال میکنید.
برای چک کردن سرعت و بهینه بودن Query تون هم پیشنهاد میکنم از LinqPad یا EF Profiler و یا SQL Profiler استفاده کنید.
نقل قول: تفاوت بین دو query
در ادامه گفته های آغای تاجیک، باید بگم کوئری اولتون رو پیچیده نوشتین درحالی که خیلی راحتتر قابل نوشتنه و اصلا نیازی به Except نیست، به اینصورت:var qProduct = _context.Products.Where(c => c.Id != 30)
.OrderByDescending(p => p.Id)
.ToList();