MVC5中Model層開發數據注解


ASP.NET MVC5中Model層開發,使用的數據注解有三個作用:

  1. 數據映射(把Model層的類用EntityFramework映射成對應的表)
  2. 數據驗證(在服務器端和客戶端驗證數據的有效性)
  3. 數據顯示(在View層顯示相應的數據)

數據注解相關的命名空間如下:

  DataAnnotations名稱空間中包含主要的數據注解,Schema名稱空間中包含一些數據映射的數據注解,Mvc名稱空間中包含字符、數組、數值長度和屬性比較的數據注解,Security名稱空間中包含MemberShipPassword注解特性。

 

數據映射和驗證相關的數據注解:

[Required]  必填字段
[MaxLength]  指定屬性中允許的數組或字符串數據的最大長度
[MinLength] 指定屬性中允許的數組或字符串數據的最小長度
[StringLength]                       指定最小和最大字符長度
[Range]   指定數值范圍

 

 

 

 

 

數據驗證相關的數據注解

[Remote] 使用 jQuery 驗證插件遠程驗證程序的特性
[FileExtension] 驗證文件擴展名
[Compare] 比較兩個屬性的值
[RegularExpression] 使用正則表達式驗證
[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?)。

初學ASP.NET MVC順便總結了一下數據注解(並不包含所有的內置數據注解),每個數據注解的具體使用請查詢MSDN,不當的地方望指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM