رفتن به مطلب

کاربرد OnDelete(DeleteBehavior.Restrict)


Mehrshid

ارسال‌های توصیه شده

سلام 

من میخواستم با استفاده از دستور OnDelete(DeleteBehavior.Restrict)    در کدها که دیتابیس فرست هست ، از حذف مقدار parent  جلوگیری بشه ، اما عملا با استفاده از این دستور هیچ اتفاقی نمی افته و باز هم عمل حذف اتفاق میفته.

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

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 22 ساعت قبل، Mehrshid گفته است :

سلام 

من میخواستم با استفاده از دستور OnDelete(DeleteBehavior.Restrict)    در کدها که دیتابیس فرست هست ، از حذف مقدار parent  جلوگیری بشه ، اما عملا با استفاده از این دستور هیچ اتفاقی نمی افته و باز هم عمل حذف اتفاق میفته.

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

ممنون

درود،

داخل سی شارپ میخواید اینکار رو انجام بدید؟

باید برای کمک توضیحاتتون واضح تر باشه یا بخشی از کد هاتون رو قرار بدید تا بررسی بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 دقیقه قبل، محمد رشوند گفته است :

درود،

داخل سی شارپ میخواید اینکار رو انجام بدید؟

باید برای کمک توضیحاتتون واضح تر باشه یا بخشی از کد هاتون رو قرار بدید تا بررسی بشه

سلام بله  ....C# , MVC Core   درکلاس   DbContext    ..

 

region - User #

            ;("modelBuilder.Entity<User>().ToTable("User") .HasIndex(p => new { p.Name, p.IdDepartment }).IsUnique(true
;(modelBuilder.Entity<User>().HasOne(t => t.Department).WithMany(t => t.Users).HasForeignKey(d => d.IdDepartment).OnDelete(DeleteBehavior.Restrict
 

                endregion#

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

@ Mehrshid  

در 51 دقیقه قبل، Mehrshid گفته است :

سلام بله  ....C# , MVC Core   درکلاس   DbContext    ..

 

region - User #

            ;("modelBuilder.Entity<User>().ToTable("User") .HasIndex(p => new { p.Name, p.IdDepartment }).IsUnique(true
;(modelBuilder.Entity<User>().HasOne(t => t.Department).WithMany(t => t.Users).HasForeignKey(d => d.IdDepartment).OnDelete(DeleteBehavior.Restrict
 

                endregion#

 

 

مهندس ، از این به بعد برای قرار دادن کد داخل تاپیک هنگام ارسال کد اون بالای ویرایشگر کنار آیتم ایموجی از قالب کد استفاده کن

 

 به این صورت عمل کنید ببینید تابع restrict اصلاً اجرا میشه

 

 

protected override void OnModelCreating(ModelBuilder modelBuilder) {
        foreach (var relationship in modelBuilder.Model.GetEntityTypes().Where(e => !e.IsOwned()).SelectMany(e => e.GetForeignKeys())) {
                relationship.DeleteBehavior = DeleteBehavior.Restrict;
        }
}

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، Mehrshid گفته است :

نه تابع restrict  اجرا نمیشه

پس اگر  تابع Restrict اجرا نمیشه مشکل از جای دیگه ای هستش ، ممکنه از دیتابیستون بخش مربوط به user هاتون باشه یا اینکه یه بارم setnull کنید ببینید اتفاقی میوفته یا نه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...