MaxLength
MaxLength属性可以应用于域类的字符串或数组类型属性。 EF Code First将设置MaxLength属性中指定的列的大小。 请注意,它也可以与ASP.Net MVC一起用作验证属性。
请看以下示例:
using System.ComponentModel.DataAnnotations; public class Student { public Student() { } public int StudentID { get; set; } [MaxLength(50)] public string StudentName { get; set; } }
如上面的代码所示,我们已经将MaxLength特性应用于StudentName属性。 所以,Code-First将在Student表中创建一个nvarchar(50)列Student Name,如下所示:
如果将值设置为大于指定大小,则EF还会验证MaxLength属性的属性值。
例如,如果您设置了超过50个字符长StudentName,则EF将抛出EntityValidationError。
MinLength
MinLength属性是一个验证属性。 它对数据库模式没有影响。 如果在MinLength属性中设置小于指定长度的字符串或数组属性的值,则EF将抛出EntityValidationError。
MinLength属性也可以与MaxLength属性一起使用,如下所示:
using System.ComponentModel.DataAnnotations; public class Student { public Student() { } public int StudentID { get; set; } [MaxLength(50),MinLength(2)] public string StudentName { get; set; } }
在上面的例子中,StudentName不能少于2个字符,不能超过50个字符。