下面小編就為大家分享一篇基於MVC5中的Model層開發資料註解,具有很好的參考價值,希望對大家有所協助。一起跟隨小編過來看看吧
ASP.NET MVC5中Model層開發,使用的資料註解有三個作用:
資料對應(把Model層的類用EntityFramework映射成對應的表)
資料驗證(在伺服器端和用戶端驗證資料的有效性)
資料顯示(在View層顯示相應的資料)
資料註解相關的命名空間如下:
System.ComponentModel.DataAnnotations
System.ComponentModel.DataAnnotations.Schema
System.Web.Mvc
System.Web.Security
DataAnnotations名稱空間中包含主要的資料註解,Schema名稱空間中包含一些資料對應的資料註解,Mvc名稱空間中包含字元、數組、數值長度和屬性比較的資料註解,Security名稱空間中包含MemberShipPassword註解特性。
資料對應和驗證相關的資料註解:
[Required] |
必要欄位 |
[MaxLength] |
指定屬性中允許的數組或字串資料的最大長度 |
[MinLength] |
指定屬性中允許的數組或字串資料的最小長度 |
[StringLength] |
指定最小和最大字元長度 |
[Range] |
指定數值範圍 |
資料驗證相關的資料註解:
[Remote] |
使用 jQuery 驗證外掛程式遠程驗證程式的特性 |
[FileExtension] |
驗證副檔名 |
[Compare] |
比較兩個屬性的值 |
[RegularExpression] |
使用Regex驗證 |
[CustomValidation] |
自訂驗證方法 |
[DataType] |
指定要與資料欄位關聯的附加類型的名稱 |
[EmailAddress] |
電子郵件地址(相當於[DataType(DataType.Email)]) |
[Phone] |
電話(同上) |
[CreditCard] |
信用卡號碼(同上) |
[Url] |
驗證URL(同上) |
[MemberShipPassword] |
驗證密碼欄位是否滿足成員資格提供者的當前密碼要求 |
資料對應相關的資料註解:
[Key]主鍵欄位[Column]資料庫列屬性對應[NotMapped]不要建立對應的欄位[Table]指定類將映射到的資料庫表[ForeignKey]表示關係中用作外鍵的屬性[DatabaseGenerated]指定資料庫產生屬性值的方式(EF不追蹤屬性的變化)
資料顯示相關的資料註解:
[DisplayName] |
指定本地化的字串(習慣用語類) |
[Display] |
指定本地化的字串(習慣用語屬性) |
[DisplayFormat] |
設定資料欄位的格式 |
[ReadOnly] |
指定該特性所綁定到的屬性是唯讀屬性還是讀/寫屬性 |
[EditAble] |
指示資料欄位是否可編輯 |
[HiddenInput] |
指示是否應將屬性值或欄位值呈現為隱藏的 input 元素 |
[ScaffoldColumn] |
指定類或資料列是否使用基架 |
[UIHint] |
指定動態資料用來顯示資料欄位的模板 |
其他
[DisplayColumn] |
將所引用的表中顯示的列指定為外鍵列 |
[Description] |
視覺化設計工具在引用組件成員時可以顯示指定的說明 (命名空間:System.ComponentModel.DescriptionAttribute) |
1、資料驗證相關的資料註解繼承ValidationAttribute類,都有一個ErrorMessage屬性用來顯示錯誤提示。
如:[Required(ErrorMessage="此項不可為空")]。
2、資料對應中Int類型和DateTime類型在資料庫中預設不允許為NULL,如果需要設定為NULL,使用可空類型即可(使用Int?或者DateTime?)。
以上這篇基於MVC5中的Model層開發資料註解就是小編分享給大家的全部內容了,希望能給大家一個參考!!!
相關推薦:
執行個體分析ASP.NET在MVC5中使用MiniProfiler監控MVC效能的方法
MVC5限制所有HTTP必須以POST方式請求
MVC5下拉框單選綁定的具體代碼實現