The EF Core uses Required attribute to generate NOT NULL columns.
public class Employee
{
public int EmployeeID { get; set; }
[Required]
public string Name { get; set; }
public string Address { get; set; }
}In the above example, the Name property is decorated with Required Attribute. This will create the Name column as Not Null in the database. Without the Required attribute, all string properties are mapped to NULLABLE columns ( Example Address in the above model)
ASP.NET MVC also uses this attribute to Validate the model in the User interface

