رفع خطا در مایگریشن - Specify ON DELETE NO ACTION or ON UPDATE NO ACTION
با سلام من سه جدول به نام های product - user - order دارم حالا هم order و هم product رو متصل کردم به جدول user که درواقع یک circle ایجاد می کنه که در migration خطا زیر رو میده
Introducing FOREIGN KEY constraint 'FK_Orders_Users_UserId' on table 'Orders' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint or index. See previous errors.
آیا راهی هست که این circle را از بین برد بدون حذف ریلیشن ها یا خیر؟
سلام
شما از جدول product یک ریلیشن دارید به user و از جدول order هم یک ریلیشن به user
در این حالت circle ایجاد نمیشه !
بهتره کدهایی که توی کلاس های user و product و order نوشتی رو قرار بدید.
عزیز کدهای بنده مشکلی نداره در واقع وقتی کلید خارجی یوزر رو از یکی از جداول پاک می کنم جدولم ایجاد میشه و مشکلی نداره سوالم رو کامل متوجه نشدید بنده پرسیدم آیا راهی هست این circle رو بدون حذف کلیدخارجی از بین برد یا اینکه حتما باید یکی از کلید خارجی ها را حذف کرد؟
سلام. این لینکو یه نگاه بندازید. فک کنم product رو باید به order وصل کنید نه user
مشکل رو رفع کردم اینجا هم میگم اگر کسی چنین مشکلی داشت رفع کنه
از اونجایی که من جدول product قبلا مقدار گرفته بود و چون کلیدی هم که تعریف کردم Required بود باید حتما مقدار می گرفت به مشکل می خورد و جداول رو پر نمی کرد
برای همین کافیه پراپرتی را به صورت زیر ایجاد کنید
public int? ProductId { get; set; }
قرار دادن یک ؟ در کنار int که باعث میشه جداول مفدار null هم بپذیره
سلام دوستان
دو مدل جدید ایجاد کردم و پس از ایجاد migration، دستور update-database را برای بروز رسانی database اجرا کردم.
اما با خطای زیر مواجه شدم:
There is already an object named 'AspNetRoles' in the database.
لطفا راهنمایی بفرمایید.
تاپیک جدا ایجاد کنید و سوالتون رو مجزا مطرح کنید
در مورد مشکلتون هم AspNetRoles در دیتابیس وجود داره کلاسی که ایجاد کردید نامش را تغییر دهید
ممنون بابت پاسخ
1- این موضوع مربوط به خطای مایگریشن هست دیگه! تاپیک جدید با موضوع تکراری باعث سر در گمی کاربرا میشه.
2- کلاس جدید به نام aspnetroles ایجاد نکردم که نیاز به تغییر نامش باشه 2 مدل به نام های دیگه هست که اصلا کاری به aspnetroles نداره!
چند نکته رو باید رعایت کنید
1- در رابطه های یک به چند در قسمت چند از نوع ICollection و [notmaped] باید باشه
2- میتونین از علامت سوال قبل نوع رابطه قسمت یک استفاده کنید مثل
public virtual person? personItem {get;set;}
3-
modelBuilder.Entity<AccessGroup>()
.HasMany(e => e.PermissionItems)
.WithOne(e => e.AccessGroupItem)
.HasForeignKey(e => e.AccessGroupID)
.OnDelete(DeleteBehavior.NoAction);
در رابطه یک به چند بالا به جای HasForeignKey(e => e.ID) بهتره یک پروپرتی برای این کار داشته باید. مانند مثال بالا
4- اگر پروژه شما بزرگ هست یک پروژه کوچک بسازین با کل کلاس ها تون و تیکه تیکه DbSet هاتون رو اضافه کنین و مپینگ بسازین و دیتابس تست اتون رو بروز کنین تا خطا ها رو پیدا و راحت تر رفع کنید.
5- زمانی که تیکه تیکه دارین ریلیشن ها و کلاس هاتون و DbSet ها رو ویرایش میکنین بهتره تمام فایل های پوشه Migration رو پاک کنین و مجدد add-migration بزنین و بعدش update-database تا اینطوری بدونین در هر قدم مشکل از کجاست.
6- ریلیشن ها رو خودتون دستی ست کنین و مقدار .OnDelete(DeleteBehavior.NoAction); رو براشون در نظر بگیرن
7- بجای
[Key]
[Column("ID")]
میتونین از
[Key, ForeignKey("ID")]
استفاده کنین
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2