سلام
من برای ساخت چند جدول در دات نت 6 از طریق کنسول اقدام کردم و بعد از ساخته شدن مایگریشن وقتی دستور Update-Database رو زدم با خطای زیر مواجهه شدم.
این عکس خطا هستش و کد تعریف جداول مربوطه در زیر می باشد.
public class CenterUsers
{
[Key]
public int CenterUsersId { get; set; }
public string CenterAdminId { get; set; }
//Strudent Or Teacher ID
public string CenterUserId { get; set; }
public int CenterId { get; set; }
//2 = Teacher
//3 = Student
public byte UserType { get; set; }
[ForeignKey("CenterAdminId")]
public virtual ApplicationUsers Users_Admin { get; set; }
[ForeignKey("CenterUserId")]
public virtual ApplicationUsers Users_ST { get; set; }
[ForeignKey("CenterId")]
public virtual Centers Centers { get; set; }
}
public class TeacherCourse
{
[Key]
public int TeacherCourseId { get; set; }
public string TeacherId { get; set; }
public int CourseId { get; set; }
public string TeacherAdminId { get; set; }
public int CenterId { get; set; }
[ForeignKey("TeacherAdminId")]
public virtual ApplicationUsers Users_Admin { get; set; }
[ForeignKey("TeacherId")]
public virtual ApplicationUsers Users_Teacher { get; set; }
[ForeignKey("CenterId")]
public virtual Centers Centers { get; set; }
[ForeignKey("CourseId")]
public virtual Courses Courses { get; set; }
}
public class Courses
{
[Key]
public int CourseId { get; set; }
public string CourseName { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUsers Users { get; set; }
}
public class Centers
{
[Key]
public int CenterId { get; set; }
public string CenterName { get; set; }
//1 = مدرسه
//2 = دانشگاه
//3 = موسسه آموزشی
//4 = سازمان یا شرکت
public byte CenterType { get; set; }
//Center Admin
public string CenterAdminId { get; set; }
[ForeignKey("CenterAdminId")]
public virtual ApplicationUsers Users { get; set; }
}
ممنون میشم راهنمایی بفرمایید.
من با دو ورژن از sql تست کردم بازم همین خطا رو میده، نمیدونم مشکل از کجاست.
شما برای ساخت این جداول بهتره که به ترتیب جداولتون رو ایجاد کنید و مایگریشن ایجاد کنید و از دستور Update-Database استفاده کنید. دلیل این امر این هست که در برخی از جداول شما از کلیدهای خارجی استفاده شده و این در حالی هست که جداول مربوطه هنوز ایجاد نشدن و عملا این یک تناقض هست.
یعنی کلیدهای خارجی دارید که هنوز رفرنس اونها در جداول مربوطه وجود نداره
تاریخ :
1403/06/17
- ساعت :
04:22:00 PM
- بازدید :
18
- پاسخ :
0
|
تاریخ :
1403/06/14
- ساعت :
06:44:00 PM
- بازدید :
59
- پاسخ :
0
|
تاریخ :
1398/11/07
- ساعت :
02:26:00 PM
- بازدید :
3534
- پاسخ :
5
|
تاریخ :
1403/06/05
- ساعت :
05:47:00 PM
- بازدید :
129
- پاسخ :
2
|
تاریخ :
1403/06/06
- ساعت :
11:53:00 AM
- بازدید :
89
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
115
- پاسخ :
1
|
تاریخ :
1403/05/31
- ساعت :
09:04:00 PM
- بازدید :
73
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
01:35:00 PM
- بازدید :
85
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
3990
- پاسخ :
1
|
تاریخ :
1403/05/20
- ساعت :
09:18:00 PM
- بازدید :
163
- پاسخ :
0
|
تاریخ :
1403/06/17
- ساعت :
04:22:00 PM
- بازدید :
18
- پاسخ :
0
|
تاریخ :
1403/06/14
- ساعت :
06:44:00 PM
- بازدید :
59
- پاسخ :
0
|
تاریخ :
1398/11/07
- ساعت :
02:26:00 PM
- بازدید :
3534
- پاسخ :
5
|
تاریخ :
1403/06/05
- ساعت :
05:47:00 PM
- بازدید :
129
- پاسخ :
2
|
تاریخ :
1403/06/06
- ساعت :
11:53:00 AM
- بازدید :
89
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
115
- پاسخ :
1
|
تاریخ :
1403/05/31
- ساعت :
09:04:00 PM
- بازدید :
73
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
01:35:00 PM
- بازدید :
85
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
3990
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4001
- پاسخ :
1
|