مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mo73

عضویت از 1394/10/16

مدیریت cascade delete

  • جمعه 6 اردیبهشت 1398
  • 12:08
تشکر میکنم

سلام من برای رفع خطای cascade delete این کدو پیاده کردم

اما متوجه شدم هر بار که به دیتبایس یه درخواستی رو میدم میره و تمام جدول ها رو چک میکنه که فکر میکنم کار درستی نباشه

اگه راه بهتری سراغ لطفا بگین

   var cascadeFKs = modelBuilder.Model.GetEntityTypes()
                .SelectMany(t => t.GetForeignKeys())
                .Where(fk => !fk.IsOwnership && fk.DeleteBehavior == DeleteBehavior.Cascade);

            foreach (var fk in cascadeFKs)
                fk.DeleteBehavior = DeleteBehavior.Restrict;

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • یکشنبه 8 اردیبهشت 1398
  • 10:56

با سلام خدمت شما دوست عزیز

کدی که نوشتین بعد از هر بار down شدن Application و بارگذاری دوباره اون اجرا میشه و نه در هر درخواست

در مورد این مسئله نیازی به نگرانی نیستش

در صورت نیاز هم میتونین به جای قرار دادن تمامی Entity  ها ، تنها Entity مورد نظرتون رو قرار بدین تا از بررسی تمامی جداول جلوگیری کنین

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)