您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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] | 使用正則表達式驗證 |
[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層開發數據注解的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。