使用 System.ComponentModel.DataAnnotations 屬性控制模型行為,無需 Fluent API 即可完成常見設定。
| 屬性 | 用途 | 範例 |
|---|---|---|
[DisplayFormat] | 顯示格式化 | [DisplayFormat(DataFormatString="{0:d}", ApplyFormatInEditMode=true)] 日期僅顯示短日期 |
[Required] | 必填驗證 | [Required(ErrorMessage="姓名不可為空")] |
[StringLength] | 長度限制 | [StringLength(50, MinimumLength=3)] |
[Column] | 資料庫欄位映射 | [Column("LastName", TypeName="nvarchar")] |
[Key] | 主鍵指定 | 非慣例主鍵名稱時使用 |
public class Student {
public int StudentID { get; set; }
[DisplayFormat(DataFormatString="{0:d}", ApplyFormatInEditMode=true)]
public DateTime EnrollmentDate { get; set; }
// ...
}
屬性同時作用於模型驗證 (MVC ModelState) 與 EF Code First 資料庫結構生成,一處定義、雙重生效。