آموزش ASP.NET Core MVCآموزش طراحی سایت

Required Attribute – اجباری کردن یک ستون جدول

آشنایی با اتریبیوت Required در روش Code First

اتریبیوت Required در EF Core چه کاربردی دارد؟ چگونه می‌توانیم پر کردن یا وارد نمودن یک ستون از جدول را در روش کدفرست (CodeFirst) اجباری کنیم؟

سلام ، آرزو ابراهیمی هستم مدرس دوره آموزش ASP.NET Core  و با یک مقاله آموزشی دیگر از فصل  اموزش Entity Framework core در خدمت شما کاربران عزیز سایت میزفا هستم.

اجباری کردن یک ستون جدول در روش Code First در EF Core

جهت اجباری کردن یک ستون از جدول در روش CodeFirst می‌توانیم از دو روش استفاده کنیم که در ادامه این مقاله آموزشی با این دو روش آشنا خواهید شد.

اجباری کردن یک ستون جدول به روش Data Annotation Attributes

در این روش جهت اجباری کردن یک ستون از جدول از اتریبیوت [Required()] بالای سر آن پراپرتی که می‌خواهیم وارد نمودن یا پر کردن آن اجباری شود ، استفاده می‌کنیم.

حالا به سراغ پروژه جلسه آموزشی گذشته میرویم این پروژه را باز کنید اگر یادتان باشد در جلسه آموزشی گذشته با اتریبیوت Primary Key جهت مشخص نمودن کلید اصلی یا Primary key آشنا شدیم و حالا می‌خواهیم با استفاده از اتریبیوت Required ستون NationalCode را در جدول StudentMaster اجباری کنیم.

پس بالای سر پراپرتی NationalCode از اتریبیوت Required استفاده می‌کنیم ، مطابق با کد زیر :

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace EFCore_C05.Models
{
    [Table("StudentMaster")]
    public class Student
    {
        [Key]
        public string StudentId { get; set; }

        [Required]
        public string NationalCode { get; set; }

        [Column("FirstName")]
        public string Name { get; set; }

        [Column("LastName")]
        public string Family { get; set; }
        public DateTime BirthDate { get; set; }
    }
}

حالا فقط باید دیتابیس را آپدیت کنیم بعد از آپدیت دیتابیس ، ستون NationalCode اجباری خواهد شد.
چنانچه با نحوه آپدیت دیتابیس در asp.net core آشنایی ندارید پیشنهاد میکنم مقاله آموزش  آپدیت دیتابیس در روش CodeFirst را حتما مطالعه نمایید.

بعد از آپدیت دیتابیس ، برای مشاهده جدول دیتابیس ، MSSQL را اجرا کنید همانطور که در تصویر زیر مشاهده میکنید ستون NationalCode تیک Allow Nulls را ندارد و نمی تواند مقدار NULL را بپذیرد.

اجباری کردن ستون جدول در EF Core
required attribute in EF Core

اجباری کردن یک ستون جدول به روش Fluent API

با استفاده از روش Fluent API که در مقاله آموزشی پیکربندی کلاس های Domain در Code First با آن آشنا شدید هم می‌توانید پر کردن یک ستون از جدول را اجباری کنید.

ابتدا باید متد OnModelCreating را در کلاس Override ، StudentDBContext کنید سپس داخل این متد از کدهای زیر استفاده نمایید.

builder.Entity().Property(b => b.NationalCode).IsRequired();

در کد بالا برای اجباری کردن ستون NationalCode  از متد IsRequired() استفاده کرده ایم حالا اگر بخواهیم برعکس این کار را انجام دهیم یعنی ستون NationalCode اجباری نباشد کافیست مقدار false را به متد IsRequired() پاس دهیم به این صورت : IsRequired(false)

پس متد OnModelCreating پس از تغییر به صورت زیر خواهد شد.

protected override void OnModelCreating(ModelBuilder builder)
{
   base.OnModelCreating(builder);
   builder.Entity<Student>().ToTable("StudentMaster").HasKey(b => b.StudentId);
   builder.Entity<Student>().Property(b => b.Name).HasColumnName("FirstName");
   builder.Entity<Student>().Property(b => b.Family).HasColumnName("LastName");
   builder.Entity<Student>().Property(b => b.NationalCode).IsRequired();
}

دوستان عزیزم این مقاله آموزشی هم به پایان رسید امیدوارم که از این مقاله هم نهایت استفاده را برده باشید اگر سوالی داشتید حتما در قسمت نظرات سایت مطرح کنید پاسخگوی شما خواهم بود 😊

برچسب ها

آرزو ابراهیمی

بیش از 6 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و ... بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


حداکثر حجم فایل برای آپلود: 1 MB.
فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ.
شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید.

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر