دلیل خطای Unable to track an entity of type because primary key property 'id' is null
من پروژه ام نوشتم و همه چیز درست بود ولی مجبور شدم فایل ها را از روی سیستم بردارم و روی سیستم دیگری اجرا کنم و دوباره دیتابیس را نصب کنم در nuget قسمت console دیتابیس را آپدیت کردم تا شروع به کار کنم، دیتا بیش اوکی شد ولی وقتی برنامه را باز می کنم و می خوام یوزر جدید تعریف کنم مشکل id می گیره و ظاهرا Id نمی ده به دیتابیس حتی همه migration ها و دیتا بیس را در sql پاک کردم دوباره یه migration جدید درست کردم دیتابیس را هم آپدیت کردم دیتا بیس اوکی هست ولی همون اشکال وجود چون تا حالا identity کار نکردم نمی دونم مشکل از چی هست در صورتی که قبلش اوکی بوده.
خطای دریافت شده :
Unable to track an entity of type 'AppUsers' because primary key property 'id' is null
تصویر خطا هم در ادامه نمای میدم :
سلام. در آیدنتیتی یک سری جداول و فیلدها به صورت ثابت وجود داره که پیش فرض خود Identity هستن. حالا اگر شما این پیش فرض ها رو تغییر بدید ممکنه برخی تنظیمات به هم بخوره. به عنوان مثال در جدول AspNetUsers فیلد Id کلید اصلی هست. اگر شما نام این جدول یا نام این ستون رو تغییر بدید تنظیمات پیش فرض خراب میشه. بنابراین باید خودتون به صورت دستی بهش بگید که برای Id یک مقدار رو Generate کنه.
در کلاس ApplicationDbContext
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<ApplicationUsers>(entity =>
{
entity.ToTable(name: "Users_Tbl");
entity.Property(e => e.Id).HasColumnName("UserID");
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
}
در کد بالا نام جدول AspNetUsers رو به Users_Tbl و نام فیلد Id رو به UserID تغییر دادیم. در خط بعدی هم گفتیم برای Id که الان UserID هست یک مقدار موقع اضافه شدن یک رکورد جدید ایجاد کن.
- آموزش استفاده از 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