PDA

View Full Version : DeleteByID یا DeleteByObject؟



ehsan_kabiri_33
یک شنبه 28 اردیبهشت 1399, 08:06 صبح
درود به همه عزیزان.
یک جدول داریم که اطلاعات داخلش نمایش داده میشه و برای هر ردیف یک سری اطلاعات در جدول داریم (که بعضی از اونها مانند ID مخفی هستند). وقتی کاربر قصد پاک کردن یک رکورد را دارد، من دیدم اکثرا دو کار انجام میشود : 1- ID به سرور ارسال میشود. 2- سرور توسط ID دریافت شده، رکورد مورد نظر را از دیتابیس واکشی مینماید. 3- رکورد را پاک و ذخیره مینماید.

چرا ما یک کار را از روی دوش سرور کم تر نکنیم؟ 1- کل اطلاعات شامل ID,Name,Address, ... که یک Object را تشکیل میدهند به سرور بفرستیم 2- سرور این آبجکت را پاک کند (چون Entity Frame Work استفاده میکنیم این امکان وجود دارد) و ذخیره کند.

در روش دوم یک کار کمتر شده و ایا بهینه تر نمی باشد ؟؟


البته میدونم قبل از پاک کردن باید چک شود که ایا رکورد موجود هست یا نه و این کار یعنی روش اول !! ممنون میشم راهنمایی کنید

Mohammadv2
دوشنبه 29 اردیبهشت 1399, 09:43 صبح
سلام. این لینک (https://docs.microsoft.com/en-us/ef/core/querying/client-eval)رو ببینید. در حالت کلی روش پیشنهادی مایکروسافت هست.

این نکته رو هم در نظر بگیرین که یکی از ویژگی های Linq اینه که میتونه از قدرت C# برای محاسبات استفاده کنه و سپس نتیجه رو به Sql ارسال کنه. اگه ما این query رو مستقیما بفرستیم توسط SQL قابل پردازش نیست.