MaxLength attribute can be applied to a string or array typePRoperty of a domain class. EF Code First will set the size of a column as specified in MaxLength attribute.Note that it can also be used withasp.netMVC as a validation attribute.
Consider the following example.
using System.ComponentModel.DataAnnotations;publicclassStudent
{public Student()
{
}publicint StudentID {get;set; }[MaxLength(50)]publicstring StudentName {get;set; }}
As you can see in the above code, we have applied MaxLength attribute to StudentName. So, Code-First will create a nvarchar(50) column StudentName in the Student table as shown below.
[flash=500,400]http://s1.knowsky.com/20160211/vnzrn0bzn3z14.png[/flash]
Entity Framework also validates the value of a property for MaxLength attribute if you set the value more than the specified size. For example, if you set more than 50 chars long StudentName then EF will throw EntityValidationError.
MinLength:MinLength attribute is a validation attribute.It does not have an impact on the database schema.EF will throw EntityValidationError if you set a value of a string or array property less than the specified length in MinLength attribute.
MinLength attribute can also be used with MaxLength attribute as shown below.
using System.ComponentModel.DataAnnotations;publicclassStudent
{public Student()
{
}publicint StudentID {get;set; }[MaxLength(50),MinLength(2)]publicstring StudentName {get;set; }}
In the above example, StudentName can not be less than 2 chars and more than 50 chars.