بررسی [Required] در Entity Framework Code First


یک attribute دیگر که به منظور پیکربندی property های مختلف مربوط به entity class ها از آن استفاده خواهیم کرد [Required] نام دارد. اگر از این attribute بر روی یک property استفاده کنید Entity Framework یک ستون NOT NULL را در جدول متناظر در دیتابیس ایجاد خواهد کرد. مثالی از نحوه استفاده کردن از این attribute را در کد زیر مشاهده می کنید.

using System.ComponentModel.DataAnnotations;

public class Student

{

public int StudentID { get; set; }

[Required]

public string StudentName { get; set; }

}

در مثال بالا [Required] را بر روی یک property با نام StudentName لحاظ کرده‌ایم. بنابراین EF API یک ستون با نام StudentName و از نوع NOT NULL را در جدول Students ایجاد خواهد کرد. این موضوع در تصویر زیر نشان داده شده است.


حال اگر سعی کنیم که یک object از نوع کلاس Student را بدون لحاظ کردن یک مقدار برای پروپرتی StudentName در دیتابیس ذخیره کنیم Entity Framework یک exception از نوع System.Data.Entity.Validation.DbEntityValidationException را ایجاد خواهد کرد. در صورت استفاده کردن از Entity Framework Core این exception از نوع Microsoft.EntityFrameworkCore.DbUpdateException خواهد بود. دقت کنید که از این attribute می توان در ASP.NET MVC به عنوان یک validation attribute نیز استفاده کرد.

منبع: وبسایت پرووید