首頁 後端開發 C#.Net教程 基於MVC5中的Model層開發資料註解_實用技巧

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

Dec 15, 2017 am 10:26 AM
model 開發

下面小編就為大家分享一篇基於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註解特性。

資料對應與驗證相關的資料註解:


[必填欄位[MaxLength]指定屬性中允許的陣列或[MinLength]指定屬性中允許的陣列或字串資料的最小長度## [StringLength][Range]
Require d]
字串資料的最大長度
指定最小和最大字元長度
#指定數值範圍
資料驗證相關的資料註解


[Remote][FileExtension]##[Compare]比較兩個屬性的值[RegularExpression]使用驗證[CustomValidation]自訂驗證方法#[DataType]指定要與資料欄位關聯的附加類型的名稱[EmailAddress]#電子郵件地址(相當於[DataType(DataType.Email)])[Phone ]電話(同上)[CreditCard]信用卡號碼(同上)[ Url]驗證URL(同上)[MemberShipPassword]#驗證密碼欄位是否符合成員資格提供者的目前密碼要求資料對映相關的資料註解:
使用jQuery 驗證外掛程式遠端驗證程式的特性
驗證檔案副檔名
正規表示式

#[Key]主鍵欄位[Column]資料庫列屬性映射[NotMapped]不要建立對應的欄位[Table]指定類別將映射到的資料庫表[ForeignKey]表示關係中用作外鍵的屬性[DatabaseGenerated]指定資料庫產生屬性值的方式(EF不追蹤屬性的變化)

資料顯示相關的資料註解:


























## [Name]指定本地化的字串(習慣用語類別)[Display][DisplayFormat]設定資料欄位的格式##[ReadOnly] #[EditAble]
Display
指定本地化的字串(習慣用語屬性)
指定該特性所綁定到的屬性是唯讀屬性還是讀/寫屬性
指示資料欄位是否可編輯

[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下拉方塊單選綁定的具體程式碼實作

#

以上是基於MVC5中的Model層開發資料註解_實用技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助程式工具在這個AI快速發展的階段,挖掘出了一大批好用的AI輔助程式工具。 AI輔助程式設計工具能夠提升開發效率、提升程式碼品質、降低bug率,是現代軟體開發過程中的重要助手。今天大姚給大家分享4款AI輔助程式工具(而且都支援C#語言),希望對大家有幫助。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI編碼助手,可幫助你更快、更省力地編寫程式碼,從而將更多精力集中在問題解決和協作上。 Git

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

學習如何利用Go語言開發行動應用程式 學習如何利用Go語言開發行動應用程式 Mar 28, 2024 pm 10:00 PM

Go語言開發行動應用程式教學隨著行動應用程式市場的不斷蓬勃發展,越來越多的開發者開始探索如何利用Go語言開發行動應用程式。作為一種簡潔高效的程式語言,Go語言在行動應用開發中也展現了強大的潛力。本文將詳細介紹如何利用Go語言開發行動應用程序,並附上具體的程式碼範例,幫助讀者快速入門並開始開發自己的行動應用程式。一、準備工作在開始之前,我們需要準備好開發環境和工具。首

五大熱門Go語言庫總表:開發必備利器 五大熱門Go語言庫總表:開發必備利器 Feb 22, 2024 pm 02:33 PM

五大熱門Go語言庫總結:開發必備利器,需要具體程式碼範例Go語言自從誕生以來,受到了廣泛的關注和應用。作為一門新興的高效、簡潔的程式語言,Go的快速發展離不開豐富的開源程式庫的支援。本文將介紹五大熱門的Go語言庫,這些庫在Go開發中扮演了至關重要的角色,為開發者提供了強大的功能和便利的開發體驗。同時,為了更好地理解這些庫的用途和功能,我們會結合具體的程式碼範例進行講

Android開發最適合的Linux發行版是哪一個? Android開發最適合的Linux發行版是哪一個? Mar 14, 2024 pm 12:30 PM

Android開發是一項繁忙而又令人興奮的工作,而選擇適合的Linux發行版來進行開發則顯得尤為重要。在眾多的Linux發行版中,究竟哪一個最適合Android開發呢?本文將從幾個方面來探討這個問題,並給出具體的程式碼範例。首先,我們來看看目前流行的幾個Linux發行版:Ubuntu、Fedora、Debian、CentOS等,它們都有各自的優點和特點。

Go語言前端技術探秘:前端開發新視野 Go語言前端技術探秘:前端開發新視野 Mar 28, 2024 pm 01:06 PM

Go語言作為一種快速、高效的程式語言,在後端開發領域廣受歡迎。然而,很少有人將Go語言與前端開發聯繫起來。事實上,使用Go語言進行前端開發不僅可以提高效率,還能為開發者帶來全新的視野。本文將探討使用Go語言進行前端開發的可能性,並提供具體的程式碼範例,幫助讀者更了解這一領域。在傳統的前端開發中,通常會使用JavaScript、HTML和CSS來建立使用者介面

Trezor冷錢包:Model One與Model T的特性與使用指南 Trezor冷錢包:Model One與Model T的特性與使用指南 Jan 19, 2024 pm 04:12 PM

在許多中心化交易所出現問題後,越來越多的幣圈投資者開始將資產轉移到冷錢包中,以減少中心化交易所帶來的風險。本文將介紹全球最早的冷錢包供應商Trezor,自2014年推出首款冷錢包至今,在全球多個國家銷售。 Trezor的產品包括2014年推出的ModelOne和2018年推出的進階版本ModelT。以下將繼續介紹這兩款產品與其他冷錢包的差異。什麼是Trezor冷錢包? 2014年,Trezor推出了第一款冷皮夾ModelOne。除了常見的BTC、ETH、USDT等幣種外,該錢包還支援超過1000種其

了解VSCode:這款工具到底是用來做什麼的? 了解VSCode:這款工具到底是用來做什麼的? Mar 25, 2024 pm 03:06 PM

《了解VSCode:這款工具到底是用來做什麼的? 》身為程式設計師,無論是初學者或資深開發者,都離不開程式碼編輯工具的使用。在眾多編輯工具中,VisualStudioCode(簡稱VSCode)作為一款開源、輕量級、強大的程式碼編輯器備受開發者歡迎。那麼,VSCode到底是用來做什麼的呢?本文將深入探討VSCode的功能和用途,並提供具體的程式碼範例,以幫助讀者

See all articles