原文鏈接:https://www.entityframeworktutorial.net/code-first/stringlength-dataannotations-attribute-in-code-first.aspx StringLength特性可以應用於實體的string類型的屬性上,它 ...
StringLength特性可以應用於實體的string類型的屬性上,它指定了屬性的所允許的最大字元長度,然後對應在資料庫中就生成相應長度的數據列(在SQL Server資料庫中是,nvarchar類型)。
using System.ComponentModel.DataAnnotations;
public class Student
{
public int StudentID { get; set; }
[StringLength(50)]
public string StudentName { get; set; }
}
上面的例子中,我們將StringLength特性應用在StudentName屬性上,所以EF將會在StudentName列,映射為nvarchar(50):
EF會驗證StudentName的屬性值的長度,如果大於50個字元長度,就報錯:EF 6中:System.Data.Entity.Validation.DbEntityValidationException
,EF Core中Microsoft.EntityFrameworkCore.DbUpdateException
請註意:StringLength特性,還可以用在ASP.NET MVC中,用來驗證屬性的值,瞭解更多,請看這篇文章:Implement Validations in ASP.NET MVC 。