من قصد دارم چند فیلد از یک جدول رو به یک جدول ربط بدم
بعنوان مثال : در جدول اول ما ID سه قلم رو می خواهیم در فیلد Loan1 و loan2 و loan3 وارد کنیم. که این ID رو از جدول Tashilat1 میگیره:
در زیر بخشی از مدل Parvandeh ارایه میشه که به اون فیلد ها که از جدول tashilat1 اشاره داره ارتباط داره :
public int Loan1 { get; set; }
[ForeignKey("Loan1")]
public virtual Tashilat1 Tashilat1 { get; set; }
public int Loan1Defined { get; set; }
public int Loan1Amount { get; set; }
public int Loan1Rate { get; set; }
public int Loan1NumOfInst { get; set; }
public int Loan2 { get; set; }
[ForeignKey("Loan2")]
public virtual Tashilat1 Tashilat2 { get; set; }
public int Loan2Defined { get; set; }
public int Loan2Amount { get; set; }
public int Loan2Rate { get; set; }
public int Loan2NumOfInst { get; set; }
public int Loan3 { get; set; }
[ForeignKey("Loan3")]
public virtual Tashilat1 Tashilat3 { get; set; }
public int Loan3Defined { get; set; }
public int Loan3Amount { get; set; }
public int Loan3Rate { get; set; }
public int Loan3NumOfInst { get; set; }
در Migration ایرادی نمی گیره ، اما در Update-Database با پیغام زیر ایراد میگیره :
Introducing FOREIGN KEY constraint 'FK_Parvandehs_tashilat1s_Loan2' on table 'Parvandehs' 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. See previous errors.
پیغام به طور خلاصه میگه روی کلید خارجی محدودیت ایجاد نکرده اید .
من نمی دونم چرا و چطور باید روی کلید خارجی محدودیت ایجاد کنم.
(این قسمت پس از دریافت پاسخ از کاربران به این سوال اضافه شد:)
این مشکل برای این است که در مدل اشاره به این نشده که فیلد میتونه خالی یا Null هم باشه ، لذا میگه اگر رکورد از فیلد والد حذف بشه در فیلد وارث ایجاد مشکل میکنه و ایجاد رکورد خالی میکنه .
که با توصیه دوستان بجای Int از نوع ?Int استفاده میکنیم تا Null هم قبول کنه.
به هر صورت بنده این کار رو انجام دادم و حل شد ( با تشکر از اساتید )
خطای شما در واقع خطای زیر هست (توی قسمتی که خطا رو نوشتید هم مشخص هست.)
Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths
این مورد قبلا سوال شده و پاسخ هم دریافت کرده. لینک زیر رو مطالعه کنید.
خطای Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths در مایگریشن
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
111
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
216
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
111
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|