Required特性可以应用于一个实体的一个或多个属性上面。EF将会为标识Required特性的属性,在数据库表的列中生成不为空的列。
using System.ComponentModel.DataAnnotations;
public class Student
{
public int StudentID { get; set; }
[Required]
public string StudentName { get; set; }
}
上面代码中,Required特性,应用到了StudentName属性上,所以EF API将会在Students表中创建一个不为空的StudentName列:
现在,如果你保存数据的时候,没有填入StudentName属性的值,就会报System.Data.Entity.Validation.DbEntityValidationException
异常:对于EF Core会报这个Microsoft.EntityFrameworkCore.DbUpdateException
异常。
请注意:Required 同样可以用于ASP.NET MVC中,作为验证特性,了解更多在MVC中的实现方式,请看这个文章:Implement Validations in ASP.NET MVC。