مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ali_ghorbaninezhad

عضویت از 1399/03/13

مغایرت Fluent API با Migrathion ایجاد شده

  • پنجشنبه 10 فروردین 1402
  • 20:48
تشکر میکنم

با عرض سلام و تبریک سال نو به تمامی اساتید و دوستان عزیز، چند روزی هست که با یک مشکلی روبرو شدم که هر کاری میکنم نمیتونم بر طرفش کنم و خواستم از تجربیات دوستان استفاده کنم.

بنده یک مدل با نام ProductCategory(تصویر شماره1) ایجاد کردم که به روش Fluent API این کلاس رو پیکربندی کردم(تصویر شماره2)، اما متاسفانه زمانی که Migration رو ایجاد میکنم تمامی پیکربندی ها از جمله کلید اصلی ، طول رشته کاراکترهای مجاز  اعمال میشوند ولی قابلیت   IsRequired برای تمامی فیلدها اعمال میشود در صورتی که بنده فقط چند فیلد رو اجباری مشخص کردم!!!!!!!

از اینترنت  راه حلی به دست نیاوردم، حتی ویژوال استودیو رو آپدیت کردم، نسخه .net رو هم تغییر دادم اما جواب نداد.

حتی به صورت دستی هم داخل migration مقادیر رو اصلاح کردم و داخل دیتابیس درست ایجاد شد اما در زمان اجرا و تکمیل فرم توسط کاربر خطای Field is required برای تمام فیلدها نمایش داده میشه....

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

باتشکر

 

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

rasoulia

عضویت از 1401/10/30

  • جمعه 18 فروردین 1402
  • 21:23

سلام. سال نوی شما هم مبارک. امیدوارم که مشکلتون حل شده باشه ولی برای آیندگان مینویسم.

زمانی که شما یه متغیر رو Null پذیر در نظر نگیرید خودش به صورت اتوماتیک اون رو Required در نظر میگیره. بنا بر این فقط نیازه که شما متغیرها رو به صورت زیر تعریف کنید.

 

public string? Null {get;set;} \\ به علامت سوال توجه کنید.
s
public string Required {get;set;} \\ بدون علامت سوال

 

کاربر سایت

ali_ghorbaninezhad

عضویت از 1399/03/13

  • شنبه 19 فروردین 1402
  • 18:25

سلام، همین کار رو هم انجام دادم داخل دیتابیس درست ایجاد میشه اما validation ها همچنان ایراد میگیرن، که راه حل شد به شرح زیر:

از  DotNet6 به بعد داخل فایل csproj ،کد <Nullable>enable</Nullable> حذف بشه مشکل هم برطرف میشه...

بازم از راهنمایی شما سپاسگزارم.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)