基於MVC5中的Model層開發資料註解_實用技巧

來源:互聯網
上載者:User
下面小編就為大家分享一篇基於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下拉框單選綁定的具體代碼實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.