خطای کلید خارجی

سوال شده توسط:

تاریخ ثبت: ۱۴۰۱/۰۵/۳۱

بازدید: 495

پاسخ: 7

تگ: Asp.net Core


با سلام و خسته نباشید ممنون از سایت و دوره خوبتون من توی دوره دات نت کور توی بخش افزودن پست و ویرایشش وقتی میخوام دکمه اضافه کردن رو بزنم بهم این خطا داده میشه. میشه بگید مشکل از کجاست؟ SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Posts_Users_UserId". The conflict occurred in database "persian_Blog", table "dbo.Users", column 'Id'. The statement has been terminated.

پاسخ ها
user

محمد اشرافی

احتمالا UserId ای که برای پست ست کردین توی دیتابیس وجود نداره

user

ممنون بابت پاسختون

ولی من بررسی کردم داخل دیتابیس مشکلی نیست و جالبه دیتا وقتی add یا edit میشه پست درسته خطا میده ولی ثبت میشه داخل دیتابیس.

ولی یه خطای پرنت رو نال میده که چند روزه بررسی میکنم نمیدونم از کجاست.

ممنون میشم راهنمایی کنید.

عکس خطایی رو هم که موقع ادیت یا افزودن پست میزنم رو ارسال کردم

دریافت فایل ضمیمه
user

محمد اشرافی

لطفا پروژه اتون رو قراربدین روی Github و آدرس اش رو بهم بدین  تا براتون مشکل اش رو پیدا کنم و بهتون اطلاع بدم

user

https://github.com/saeedkk/Blog

user

با سلام مجدد

مشکل رو تونستید پیدا کنید؟

user

محمد اشرافی

سلام وقت بخیر 

اولین مشکل : وقتی میخواین Success بودن عملیات رو چک کنید باید روی Status این کار انجام بشه : 

  if (result.Status != OperationResultStatus.Success)
                return View();

این مورد رو اصلاح کنید تا خطا بر طرف بشه ( مشکل این بود که در هر صورت شما Return View انجام میدادین و وقتی View رو برمیگردوندید این Model شما خالی بوده و خطا میداده ، پس باید نحوه چک کردن Status تغییر کنه و وقتی View رو Return میکنید مدل رو بهش بدین : 


if (result.Status != OperationResultStatus.Success)
                return View(createViewModel);
 if (result.Status != OperationResultStatus.Success)
                return View(editViewModel);

 

user

محمد اشرافی

لطفا پاسخ صحیح رو انتخاب کنید تا پرسش بسته بشه و در صورت تمایل به این Repository 

Star بدین

 

https://github.com/mohammad-ashrafi2020/Eshop-Api

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات