با عرض سلام و تبریک سال نو به تمامی اساتید و دوستان عزیز، چند روزی هست که با یک مشکلی روبرو شدم که هر کاری میکنم نمیتونم بر طرفش کنم و خواستم از تجربیات دوستان استفاده کنم.
بنده یک مدل با نام ProductCategory(تصویر شماره1) ایجاد کردم که به روش Fluent API این کلاس رو پیکربندی کردم(تصویر شماره2)، اما متاسفانه زمانی که Migration رو ایجاد میکنم تمامی پیکربندی ها از جمله کلید اصلی ، طول رشته کاراکترهای مجاز اعمال میشوند ولی قابلیت IsRequired برای تمامی فیلدها اعمال میشود در صورتی که بنده فقط چند فیلد رو اجباری مشخص کردم!!!!!!!
از اینترنت راه حلی به دست نیاوردم، حتی ویژوال استودیو رو آپدیت کردم، نسخه .net رو هم تغییر دادم اما جواب نداد.
حتی به صورت دستی هم داخل migration مقادیر رو اصلاح کردم و داخل دیتابیس درست ایجاد شد اما در زمان اجرا و تکمیل فرم توسط کاربر خطای Field is required برای تمام فیلدها نمایش داده میشه....
ممنون میشم اگر راهنمایی کنید.
باتشکر
سلام. سال نوی شما هم مبارک. امیدوارم که مشکلتون حل شده باشه ولی برای آیندگان مینویسم.
زمانی که شما یه متغیر رو Null پذیر در نظر نگیرید خودش به صورت اتوماتیک اون رو Required در نظر میگیره. بنا بر این فقط نیازه که شما متغیرها رو به صورت زیر تعریف کنید.
public string? Null {get;set;} \\ به علامت سوال توجه کنید.
s
public string Required {get;set;} \\ بدون علامت سوال
سلام، همین کار رو هم انجام دادم داخل دیتابیس درست ایجاد میشه اما validation ها همچنان ایراد میگیرن، که راه حل شد به شرح زیر:
از DotNet6 به بعد داخل فایل csproj ،کد <Nullable>enable</Nullable> حذف بشه مشکل هم برطرف میشه...
بازم از راهنمایی شما سپاسگزارم.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)