探秘ASP.NET MVC框架傳遞加載過(guò)程
這章主要講述了ASP.NET MVC框架和ASP.NET MVC Framework框架的一些常用和基本的情況,也討論了相關(guān)ASP.NET MVC框架的適合和它在ASP.NET MVC framework中的實(shí)現(xiàn)。
在本次的討論中,我希望通過(guò)使用MVC框架作為一個(gè)簡(jiǎn)單的博客引擎來(lái)實(shí)現(xiàn)KBlog,并作為一個(gè)示例來(lái)顯示ASP.NET MVC框架的相關(guān)概念。在了解控制器和學(xué)習(xí)了有關(guān)它們的基本原理后,為了完成控制器的工作,我們需要找到一個(gè)方法來(lái)從數(shù)據(jù)模型中的數(shù)據(jù)存儲(chǔ)器中加載數(shù)據(jù)并將它們傳遞給視圖。
在KBlog里我使用SQL Express database的三個(gè)簡(jiǎn)單的表,過(guò)一會(huì)你就能找到它們。在本系列文章的這一部分里我會(huì)介紹MVC框架里另外一個(gè)重要的組成部分?jǐn)?shù)據(jù)模型,而在控制器中,數(shù)據(jù)庫(kù)結(jié)構(gòu)將會(huì)使用LINQ to SQL來(lái)加載數(shù)據(jù)并從ASP.NET MVC框架傳遞加載的數(shù)據(jù)到視圖中。#t#
在進(jìn)入文章的正文之前讓我說(shuō)一下本部分的重要是在數(shù)據(jù)部分和KBlog和MVC中的數(shù)據(jù)模型概念,雖然你將在文章里看見(jiàn)我們的數(shù)據(jù)模型的一些***的用途。
數(shù)據(jù)模型是MVC模式的三個(gè)重要組成部分之一,而它負(fù)責(zé)維持狀態(tài)。數(shù)據(jù)模型從數(shù)據(jù)存儲(chǔ)器中檢索數(shù)據(jù)并將數(shù)據(jù)傳遞給控制器。狀態(tài)數(shù)據(jù)通常存儲(chǔ)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中,而你可以通過(guò)幾種方式來(lái)檢索它們。
ASP.NET MVC框架并不在乎你的存儲(chǔ)器系統(tǒng),而你所需要做的是以某種方式將你的數(shù)據(jù)傳送到控制器類中。這可以通過(guò)ADO.NET底層API例如DataReader、DataSet,或者通過(guò)LINQ to SQL類。在這里KBlog我將會(huì)使用在不久的將來(lái)將會(huì)變得普遍的LINQ to SQL(現(xiàn)在我們不認(rèn)為它是現(xiàn)實(shí)世界工程普遍的東西)。
大體上,數(shù)據(jù)模型是一個(gè)作為對(duì)象來(lái)加載數(shù)據(jù)的代理類,并能將數(shù)據(jù)傳遞到控制器類中。ASP.NET MVC框架為了簡(jiǎn)易很多開(kāi)發(fā)者更喜歡使用一些額外的幫助類,來(lái)簡(jiǎn)化使用數(shù)據(jù)模型的工作和在一定程度上封裝內(nèi)部的運(yùn)作。這個(gè)你將會(huì)在文章的后面看到。