عدم ایجاد جداول از طریق کنسول Pakage Manager Consol
سلام
من برای ساخت چند جدول در دات نت 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 تست کردم بازم همین خطا رو میده، نمیدونم مشکل از کجاست.
پاسخ هوش مصنوعی
برای حل مشکل شما، بهتر است چند نکته را بررسی کنید:
بررسی کنید که آیا مایگریشن شما به درستی ایجاد شده است یا خیر. می توانید با استفاده از دستور زیر، لیست مایگریشن های موجود را ببینید:
Get-Migrations
اگر مایگریشن جدیدی دارید و نمی خواهید مایگریشن های قبلی را حذف کنید، می توانید دستور زیر را برای به روزرسانی پایگاه داده استفاده کنید:
Update-Database
اگر خطای موجود مربوط به وجود جداول قبلی است، می توانید با دستور زیر همه جداول را حذف کنید (لطفاً توجه داشته باشید که این کار تمام داده های شما را پاک خواهد کرد):
Drop-Database
بعد از حذف پایگاه داده، دستور زیر را برای ایجاد پایگاه داده جدید و جداول استفاده کنید:
Update-Database
همچنین مطمین شوید که ارتباط با پایگاه داده به درستی پیکربندی شده و دسترسی ها به درستی تنظیم شده اند.
اگر هنوز با خطا مواجه هستید، لطفاً متن خطا را با جزییات بیشتر به اشتراک بگذارید تا بتوانم بهتر راهنمایی کنم.
شما برای ساخت این جداول بهتره که به ترتیب جداولتون رو ایجاد کنید و مایگریشن ایجاد کنید و از دستور Update-Database استفاده کنید. دلیل این امر این هست که در برخی از جداول شما از کلیدهای خارجی استفاده شده و این در حالی هست که جداول مربوطه هنوز ایجاد نشدن و عملا این یک تناقض هست.
یعنی کلیدهای خارجی دارید که هنوز رفرنس اونها در جداول مربوطه وجود نداره
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2